Merge "Effects: set hw volume if effect chain doesn't have volume control" into rvc-dev
diff --git a/services/camera/libcameraservice/api2/HeicEncoderInfoManager.cpp b/services/camera/libcameraservice/api2/HeicEncoderInfoManager.cpp
index d7cc2bf..d36ca3b 100644
--- a/services/camera/libcameraservice/api2/HeicEncoderInfoManager.cpp
+++ b/services/camera/libcameraservice/api2/HeicEncoderInfoManager.cpp
@@ -91,6 +91,8 @@
// The "measured-frame-rate-WIDTHxHEIGHT-range" key is optional.
// Hardcode to some default value (3.33ms * tile count) based on resolution.
*stall = 3333333LL * width * height / (kGridWidth * kGridHeight);
+ *useHeic = chooseHeic;
+ *useGrid = enableGrid;
return true;
}
@@ -275,9 +277,13 @@
ALOGE("%s: Failed to get codec info for %s", __FUNCTION__, mime);
break;
}
+ ALOGV("%s: [%s] codec found", __FUNCTION__,
+ info->getCodecName());
// Filter out software ones as they may be too slow
if (!(info->getAttributes() & MediaCodecInfo::kFlagIsHardwareAccelerated)) {
+ ALOGV("%s: [%s] Filter out software ones as they may be too slow", __FUNCTION__,
+ info->getCodecName());
continue;
}
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
index 0fd89f1..1d794a1 100644
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
@@ -1008,7 +1008,8 @@
if (sizeAvail) continue;
int64_t stall = 0;
- bool useHeic, useGrid;
+ bool useHeic = false;
+ bool useGrid = false;
if (camera3::HeicCompositeStream::isSizeSupportedByHeifEncoder(
halStreamConfigs.data.i32[i+1], halStreamConfigs.data.i32[i+2],
&useHeic, &useGrid, &stall)) {
diff --git a/services/mediametrics/MediaMetricsService.cpp b/services/mediametrics/MediaMetricsService.cpp
index d27fa5e..a6fefd2 100644
--- a/services/mediametrics/MediaMetricsService.cpp
+++ b/services/mediametrics/MediaMetricsService.cpp
@@ -386,7 +386,7 @@
break;
}
if (now > when && (now - when) <= mMaxRecordAgeNs) {
- break; // TODO: if we use BOOTTIME, should be monotonic.
+ break; // Note SYSTEM_TIME_REALTIME may not be monotonic.
}
if (i >= mMaxRecordsExpiredAtOnce) {
// this represents "one too many"; tell caller there are
diff --git a/services/mediametrics/TimeMachine.h b/services/mediametrics/TimeMachine.h
index f0bb2fb..a4c3693 100644
--- a/services/mediametrics/TimeMachine.h
+++ b/services/mediametrics/TimeMachine.h
@@ -93,7 +93,7 @@
template <typename T>
status_t getValue(const std::string &property, T* value, int64_t time = 0) const {
- if (time == 0) time = systemTime(SYSTEM_TIME_BOOTTIME);
+ if (time == 0) time = systemTime(SYSTEM_TIME_REALTIME);
const auto tsptr = mPropertyMap.find(property);
if (tsptr == mPropertyMap.end()) return BAD_VALUE;
const auto& timeSequence = tsptr->second;
@@ -122,7 +122,7 @@
template <typename T>
void putValue(const std::string &property,
T&& e, int64_t time = 0) {
- if (time == 0) time = systemTime(SYSTEM_TIME_BOOTTIME);
+ if (time == 0) time = systemTime(SYSTEM_TIME_REALTIME);
mLastModificationTime = time;
if (mPropertyMap.size() >= kKeyMaxProperties &&
!mPropertyMap.count(property)) {
@@ -340,7 +340,7 @@
/**
* Individual property put.
*
- * Put takes in a time (if none is provided then BOOTTIME is used).
+ * Put takes in a time (if none is provided then SYSTEM_TIME_REALTIME is used).
*/
template <typename T>
status_t put(const std::string &url, T &&e, int64_t time = 0) {
@@ -349,7 +349,7 @@
std::shared_ptr<KeyHistory> keyHistory =
getKeyHistoryFromUrl(url, &key, &prop);
if (keyHistory == nullptr) return BAD_VALUE;
- if (time == 0) time = systemTime(SYSTEM_TIME_BOOTTIME);
+ if (time == 0) time = systemTime(SYSTEM_TIME_REALTIME);
std::lock_guard lock(getLockForKey(key));
keyHistory->putValue(prop, std::forward<T>(e), time);
return NO_ERROR;