Merge "Remove watch_foreground_changes flag" into main
diff --git a/camera/camera2/SessionConfiguration.cpp b/camera/camera2/SessionConfiguration.cpp
index 2f1f22d..065d283 100644
--- a/camera/camera2/SessionConfiguration.cpp
+++ b/camera/camera2/SessionConfiguration.cpp
@@ -72,17 +72,15 @@
bool hasSessionParameters = false;
CameraMetadata settings;
- if (flags::feature_combination_query()) {
- if ((err = parcel->readBool(&hasSessionParameters)) != OK) {
- ALOGE("%s: Failed to read hasSessionParameters flag from parcel", __FUNCTION__);
- return err;
- }
+ if ((err = parcel->readBool(&hasSessionParameters)) != OK) {
+ ALOGE("%s: Failed to read hasSessionParameters flag from parcel", __FUNCTION__);
+ return err;
+ }
- if (hasSessionParameters) {
- if ((err = settings.readFromParcel(parcel)) != OK) {
- ALOGE("%s: Failed to read metadata flag from parcel", __FUNCTION__);
- return err;
- }
+ if (hasSessionParameters) {
+ if ((err = settings.readFromParcel(parcel)) != OK) {
+ ALOGE("%s: Failed to read metadata flag from parcel", __FUNCTION__);
+ return err;
}
}
@@ -94,10 +92,8 @@
for (auto& stream : outputStreams) {
mOutputStreams.push_back(stream);
}
- if (flags::feature_combination_query()) {
- mHasSessionParameters = hasSessionParameters;
- mSessionParameters = std::move(settings);
- }
+ mHasSessionParameters = hasSessionParameters;
+ mSessionParameters = std::move(settings);
return err;
}
@@ -125,14 +121,12 @@
err = parcel->writeParcelableVector(mOutputStreams);
if (err != OK) return err;
- if (flags::feature_combination_query()) {
- err = parcel->writeBool(mHasSessionParameters);
- if (err != OK) return err;
+ err = parcel->writeBool(mHasSessionParameters);
+ if (err != OK) return err;
- if (mHasSessionParameters) {
- err = mSessionParameters.writeToParcel(parcel);
- if (err != OK) return err;
- }
+ if (mHasSessionParameters) {
+ err = mSessionParameters.writeToParcel(parcel);
+ if (err != OK) return err;
}
return OK;
diff --git a/camera/camera_platform.aconfig b/camera/camera_platform.aconfig
index 367cbe8..035e059 100644
--- a/camera/camera_platform.aconfig
+++ b/camera/camera_platform.aconfig
@@ -42,13 +42,6 @@
flag {
namespace: "camera_platform"
- name: "log_zoom_override_usage"
- description: "Enable measuring how much usage there is for zoom settings overrde"
- bug: "307409002"
-}
-
-flag {
- namespace: "camera_platform"
name: "session_hal_buf_manager"
description: "Enable or disable HAL buffer manager as requested by the camera HAL"
bug: "311263114"
@@ -272,4 +265,4 @@
metadata {
purpose: PURPOSE_BUGFIX
}
-}
\ No newline at end of file
+}
diff --git a/media/aconfig/codec_fwk.aconfig b/media/aconfig/codec_fwk.aconfig
index 09a07c0..2bf53f9 100644
--- a/media/aconfig/codec_fwk.aconfig
+++ b/media/aconfig/codec_fwk.aconfig
@@ -13,6 +13,16 @@
}
flag {
+ name: "dataspace_v0_partial"
+ namespace: "codec_fwk"
+ description: "Bugfix flag for using V0 dataspace in some cases"
+ bug: "313827126"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
name: "dynamic_color_aspects"
is_exported: true
namespace: "codec_fwk"
diff --git a/media/codec2/sfplugin/CCodec.cpp b/media/codec2/sfplugin/CCodec.cpp
index 68f1dda..632eaed 100644
--- a/media/codec2/sfplugin/CCodec.cpp
+++ b/media/codec2/sfplugin/CCodec.cpp
@@ -512,9 +512,14 @@
uint64_t usage = mConfig.mUsage;
(void)(*node)->setConsumerUsage((int64_t)usage);
+ // AIDL does not define legacy dataspace.
+ android_dataspace_t dataspace = mDataSpace;
+ if (android::media::codec::provider_->dataspace_v0_partial()) {
+ ColorUtils::convertDataSpaceToV0(dataspace);
+ }
return fromAidlStatus(mSource->configure(
(*node), static_cast<::aidl::android::hardware::graphics::common::Dataspace>(
- mDataSpace)));
+ dataspace)));
}
void disconnect() override {
diff --git a/media/codec2/sfplugin/Codec2Buffer.cpp b/media/codec2/sfplugin/Codec2Buffer.cpp
index 164a1e0..7d4e8ab 100644
--- a/media/codec2/sfplugin/Codec2Buffer.cpp
+++ b/media/codec2/sfplugin/Codec2Buffer.cpp
@@ -20,6 +20,8 @@
#include <utils/Log.h>
#include <utils/Trace.h>
+#include <android_media_codec.h>
+
#include <aidl/android/hardware/graphics/common/Cta861_3.h>
#include <aidl/android/hardware/graphics/common/Smpte2086.h>
#include <android-base/no_destructor.h>
@@ -33,6 +35,7 @@
#include <media/stagefright/foundation/ABuffer.h>
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/foundation/AUtils.h>
+#include <media/stagefright/foundation/ColorUtils.h>
#include <mediadrm/ICrypto.h>
#include <nativebase/nativebase.h>
#include <ui/GraphicBufferMapper.h>
@@ -735,6 +738,10 @@
// Gralloc4 not supported; nothing to do
return err;
}
+ // Use V0 dataspaces for Gralloc4+
+ if (android::media::codec::provider_->dataspace_v0_partial()) {
+ ColorUtils::convertDataSpaceToV0(dataSpace);
+ }
status_t status = mapper.setDataspace(buffer.get(), static_cast<ui::Dataspace>(dataSpace));
if (status != OK) {
err = C2_CORRUPTED;
diff --git a/media/libstagefright/FrameDecoder.cpp b/media/libstagefright/FrameDecoder.cpp
index 893b442..cc78510 100644
--- a/media/libstagefright/FrameDecoder.cpp
+++ b/media/libstagefright/FrameDecoder.cpp
@@ -654,7 +654,9 @@
mReadOptions.clearSeekTo();
if (err != OK) {
ALOGW("Input Error: err=%d", err);
- mediaBuffer->release();
+ if (mediaBuffer) {
+ mediaBuffer->release();
+ }
return err;
}
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index fe74996..eb8708e 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -828,10 +828,6 @@
hardware::camera2::impl::CameraMetadataNative* request) {
ATRACE_CALL();
- if (!flags::feature_combination_query()) {
- return STATUS_ERROR(CameraService::ERROR_INVALID_OPERATION,
- "Camera subsystem doesn't support this method!");
- }
if (!mInitialized) {
ALOGE("%s: Camera subsystem is not available", __FUNCTION__);
logServiceError("Camera subsystem is not available", ERROR_DISCONNECTED);
@@ -891,10 +887,6 @@
/*out*/ bool* supported) {
ATRACE_CALL();
- if (!flags::feature_combination_query()) {
- return STATUS_ERROR(CameraService::ERROR_INVALID_OPERATION,
- "Camera subsystem doesn't support this method!");
- }
if (!mInitialized) {
ALOGE("%s: Camera HAL couldn't be initialized", __FUNCTION__);
logServiceError("Camera subsystem is not available", ERROR_DISCONNECTED);
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
index 4270ce2..8c44e35 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -553,7 +553,7 @@
mRunningSessionStats.mUsedUltraWide = true;
}
}
- if (!mRunningSessionStats.mUsedSettingsOverrideZoom && flags::log_zoom_override_usage()) {
+ if (!mRunningSessionStats.mUsedSettingsOverrideZoom) {
entry = physicalSettingsList.begin()->metadata.find(
ANDROID_CONTROL_SETTINGS_OVERRIDE);
if (entry.count == 1 && entry.data.i32[0] ==
diff --git a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
index e76b750..5c0e2c6 100644
--- a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
@@ -622,12 +622,10 @@
mHasFlashUnit = false;
}
- if (flags::feature_combination_query()) {
- res = addSessionConfigQueryVersionTag();
- if (OK != res) {
- ALOGE("%s: Unable to add sessionConfigurationQueryVersion tag: %s (%d)",
- __FUNCTION__, strerror(-res), res);
- }
+ res = addSessionConfigQueryVersionTag();
+ if (OK != res) {
+ ALOGE("%s: Unable to add sessionConfigurationQueryVersion tag: %s (%d)",
+ __FUNCTION__, strerror(-res), res);
}
camera_metadata_entry entry =
@@ -844,11 +842,7 @@
mVersion.get_minor());
return INVALID_OPERATION;
}
- if (flags::feature_combination_query()) {
- ret = interface->isStreamCombinationWithSettingsSupported(streamConfiguration, status);
- } else {
- return INVALID_OPERATION;
- }
+ ret = interface->isStreamCombinationWithSettingsSupported(streamConfiguration, status);
} else {
ret = interface->isStreamCombinationSupported(streamConfiguration, status);
}
@@ -887,10 +881,6 @@
return res;
}
- if (!flags::feature_combination_query()) {
- return INVALID_OPERATION;
- }
-
auto err = interface->constructDefaultRequestSettings(id, &request);
if (!err.isOk()) {
ALOGE("%s: Transaction error: %s", __FUNCTION__, err.getMessage());
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
index 40800d9..c394d43 100644
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
@@ -693,12 +693,10 @@
mHasFlashUnit = false;
}
- if (flags::feature_combination_query()) {
- res = addSessionConfigQueryVersionTag();
- if (OK != res) {
- ALOGE("%s: Unable to add sessionConfigurationQueryVersion tag: %s (%d)",
- __FUNCTION__, strerror(-res), res);
- }
+ res = addSessionConfigQueryVersionTag();
+ if (OK != res) {
+ ALOGE("%s: Unable to add sessionConfigurationQueryVersion tag: %s (%d)",
+ __FUNCTION__, strerror(-res), res);
}
camera_metadata_entry entry =