Close the handle returned by WrapNativeCodec2GrallocHandle()

At ag/13824423 we fixed the description of
WrapNativeCodec2GrallocHandle() that the returned handle should be
closed and deleted. This CL closes and deletes the handle if the
ownership of the returned handle is not transfered to
C2GraphicAllocation successfully.

Bug: 181541291
Test: android.media.cts.AdaptivePlaybackTest

Change-Id: I18464f860a93a750db653eb615ae0c92a672535e
This commit is contained in:
Chih-Yu Huang
2021-03-11 14:37:21 +09:00
committed by Chih-yu Huang
parent 59436521c8
commit ef546db381

View File

@@ -2260,6 +2260,8 @@ static void android_media_MediaCodec_native_queueHardwareBuffer(
c2_status_t c2err = sGrallocAlloc->priorGraphicAllocation(handle, &alloc);
if (c2err != C2_OK) {
ALOGW("Failed to wrap AHardwareBuffer into C2GraphicAllocation");
native_handle_close(handle);
native_handle_delete(handle);
throwExceptionAsNecessary(env, BAD_VALUE);
return;
}