Revert "GraphicBufferSource: Use 64bit consumer usage"
This reverts commit b6caaf8dd20f4e79ccf74b6ac65ed2e52b70d4e5.
Reason for revert: b/295498401- AOSP phones not booting
Passing with revert: go/forrest-run/L01600000962534617
Change-Id: I856c6e303cad907c05e522bcd76672b2104ee19f
diff --git a/media/codec2/hal/client/client.cpp b/media/codec2/hal/client/client.cpp
index 0bf96cf..01fc593 100644
--- a/media/codec2/hal/client/client.cpp
+++ b/media/codec2/hal/client/client.cpp
@@ -1683,8 +1683,8 @@
uint64_t consumerUsage = kDefaultConsumerUsage;
{
if (surface) {
- uint64_t usage = 0;
- status_t err = surface->getConsumerUsage(&usage);
+ int usage = 0;
+ status_t err = surface->query(NATIVE_WINDOW_CONSUMER_USAGE_BITS, &usage);
if (err != NO_ERROR) {
ALOGD("setOutputSurface -- failed to get consumer usage bits (%d/%s). ignoring",
err, asString(err));
@@ -1697,7 +1697,8 @@
// they do not exist inside of C2 scope. Any buffer usage shall be communicated
// through the sideband channel.
- consumerUsage = usage | kDefaultConsumerUsage;
+ // do an unsigned conversion as bit-31 may be 1
+ consumerUsage = (uint32_t)usage | kDefaultConsumerUsage;
}
}
diff --git a/media/codec2/hal/hidl/1.0/utils/InputSurfaceConnection.cpp b/media/codec2/hal/hidl/1.0/utils/InputSurfaceConnection.cpp
index d3fdd6b..7c2e014 100644
--- a/media/codec2/hal/hidl/1.0/utils/InputSurfaceConnection.cpp
+++ b/media/codec2/hal/hidl/1.0/utils/InputSurfaceConnection.cpp
@@ -145,7 +145,7 @@
// C2AndroidMemoryUsage(C2MemoryUsage(usage.value)).
// asGrallocUsage();
- uint64_t grallocUsage =
+ uint32_t grallocUsage =
mSinkName.compare(0, 11, "c2.android.") == 0 ?
GRALLOC_USAGE_SW_READ_OFTEN :
GRALLOC_USAGE_HW_VIDEO_ENCODER;
diff --git a/media/codec2/sfplugin/C2OMXNode.cpp b/media/codec2/sfplugin/C2OMXNode.cpp
index 92cfe31..ed7d69c 100644
--- a/media/codec2/sfplugin/C2OMXNode.cpp
+++ b/media/codec2/sfplugin/C2OMXNode.cpp
@@ -230,12 +230,6 @@
err = OK;
break;
}
- case OMX_IndexParamConsumerUsageBits64: {
- OMX_U64 *usage = (OMX_U64 *)params;
- *usage = mUsage;
- err = OK;
- break;
- }
case OMX_IndexParamPortDefinition: {
if (size < sizeof(OMX_PARAM_PORTDEFINITIONTYPE)) {
return BAD_VALUE;
@@ -299,13 +293,6 @@
}
mUsage = *((OMX_U32 *)params);
return OK;
-
- case OMX_IndexParamConsumerUsageBits64:
- if (size != sizeof(OMX_U64)) {
- return BAD_VALUE;
- }
- mUsage = *((OMX_U64 *)params);
- return OK;
}
return ERROR_UNSUPPORTED;
}
diff --git a/media/codec2/sfplugin/CCodec.cpp b/media/codec2/sfplugin/CCodec.cpp
index 8013f8e..6295b06 100644
--- a/media/codec2/sfplugin/CCodec.cpp
+++ b/media/codec2/sfplugin/CCodec.cpp
@@ -206,19 +206,12 @@
mNode = new C2OMXNode(comp);
mOmxNode = new hardware::media::omx::V1_0::utils::TWOmxNode(mNode);
mNode->setFrameSize(mWidth, mHeight);
- // Usage is queried during configure(), so setting it beforehand.
- // 64 bit set parameter is existing only in C2OMXNode.
- OMX_U64 usage64 = mConfig.mUsage;
- status_t res = mNode->setParameter(
- (OMX_INDEXTYPE)OMX_IndexParamConsumerUsageBits64,
- &usage64, sizeof(usage64));
- if (res != OK) {
- OMX_U32 usage = mConfig.mUsage & 0xFFFFFFFF;
- (void)mNode->setParameter(
- (OMX_INDEXTYPE)OMX_IndexParamConsumerUsageBits,
- &usage, sizeof(usage));
- }
+ // Usage is queried during configure(), so setting it beforehand.
+ OMX_U32 usage = mConfig.mUsage & 0xFFFFFFFF;
+ (void)mNode->setParameter(
+ (OMX_INDEXTYPE)OMX_IndexParamConsumerUsageBits,
+ &usage, sizeof(usage));
return GetStatus(mSource->configure(
mOmxNode, static_cast<hardware::graphics::common::V1_0::Dataspace>(mDataSpace)));
diff --git a/media/libstagefright/omx/1.0/WGraphicBufferSource.cpp b/media/libstagefright/omx/1.0/WGraphicBufferSource.cpp
index f4ccaba..f7bf3ba 100644
--- a/media/libstagefright/omx/1.0/WGraphicBufferSource.cpp
+++ b/media/libstagefright/omx/1.0/WGraphicBufferSource.cpp
@@ -143,7 +143,7 @@
// use consumer usage bits queried from encoder, but always add
// HW_VIDEO_ENCODER for backward compatibility.
- uint64_t consumerUsage;
+ uint32_t consumerUsage;
void *_params = &consumerUsage;
uint8_t *params = static_cast<uint8_t*>(_params);
fnStatus = UNKNOWN_ERROR;
@@ -155,32 +155,15 @@
outParams.data() + outParams.size(),
params);
});
-
- // try 64 bit consumer usage first
auto transStatus = omxNode->getParameter(
- static_cast<uint32_t>(OMX_IndexParamConsumerUsageBits64),
+ static_cast<uint32_t>(OMX_IndexParamConsumerUsageBits),
inHidlBytes(&consumerUsage, sizeof(consumerUsage)),
_hidl_cb);
if (!transStatus.isOk()) {
return toStatus(FAILED_TRANSACTION);
}
if (fnStatus != OK) {
- // try 32 bit consumer usage upon failure
- uint32_t usage;
- _params = &usage;
- params = static_cast<uint8_t*>(_params);
- transStatus = omxNode->getParameter(
- static_cast<uint32_t>(OMX_IndexParamConsumerUsageBits),
- inHidlBytes(&usage, sizeof(usage)),
- _hidl_cb);
- if (!transStatus.isOk()) {
- return toStatus(FAILED_TRANSACTION);
- }
- if (fnStatus != OK) {
- consumerUsage = 0;
- } else {
- consumerUsage = usage;
- }
+ consumerUsage = 0;
}
OMX_PARAM_PORTDEFINITIONTYPE def;
diff --git a/media/libstagefright/omx/OmxGraphicBufferSource.cpp b/media/libstagefright/omx/OmxGraphicBufferSource.cpp
index 33481e3..9484046 100644
--- a/media/libstagefright/omx/OmxGraphicBufferSource.cpp
+++ b/media/libstagefright/omx/OmxGraphicBufferSource.cpp
@@ -85,7 +85,7 @@
int32_t bufferCount,
uint32_t frameWidth,
uint32_t frameHeight,
- uint64_t consumerUsage) {
+ uint32_t consumerUsage) {
if (omxNode == NULL) {
return BAD_VALUE;
}
diff --git a/media/libstagefright/omx/include/media/stagefright/omx/OmxGraphicBufferSource.h b/media/libstagefright/omx/include/media/stagefright/omx/OmxGraphicBufferSource.h
index a23efac..e576d75 100644
--- a/media/libstagefright/omx/include/media/stagefright/omx/OmxGraphicBufferSource.h
+++ b/media/libstagefright/omx/include/media/stagefright/omx/OmxGraphicBufferSource.h
@@ -70,7 +70,7 @@
int32_t bufferCount,
uint32_t frameWidth,
uint32_t frameHeight,
- uint64_t consumerUsage);
+ uint32_t consumerUsage);
// Rest of the interface in GraphicBufferSource.
diff --git a/media/module/bqhelper/GraphicBufferSource.cpp b/media/module/bqhelper/GraphicBufferSource.cpp
index 4bb2215..569420b 100644
--- a/media/module/bqhelper/GraphicBufferSource.cpp
+++ b/media/module/bqhelper/GraphicBufferSource.cpp
@@ -1150,7 +1150,7 @@
int32_t bufferCount,
uint32_t frameWidth,
uint32_t frameHeight,
- uint64_t consumerUsage) {
+ uint32_t consumerUsage) {
if (component == NULL) {
return BAD_VALUE;
}
diff --git a/media/module/bqhelper/include/media/stagefright/bqhelper/GraphicBufferSource.h b/media/module/bqhelper/include/media/stagefright/bqhelper/GraphicBufferSource.h
index 4e4fbfd..fe6bcce 100644
--- a/media/module/bqhelper/include/media/stagefright/bqhelper/GraphicBufferSource.h
+++ b/media/module/bqhelper/include/media/stagefright/bqhelper/GraphicBufferSource.h
@@ -129,7 +129,7 @@
int32_t bufferCount,
uint32_t frameWidth,
uint32_t frameHeight,
- uint64_t consumerUsage);
+ uint32_t consumerUsage);
// This is called after the last input frame has been submitted or buffer
// timestamp is greater or equal than stopTimeUs. We need to submit an empty