diff options
author | Michael Bestas <mkbestas@lineageos.org> | 2020-03-08 00:33:04 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2020-03-08 00:33:04 +0200 |
commit | b07da441193a7a0564bef7a781cf2cf65bfef5d0 (patch) | |
tree | b8f44668d76fba71999655cda8c7241b103670e9 | |
parent | 200a381d3fa1135979abe5be3eceeb51a1cd29bf (diff) | |
parent | dc38bf4156ad626f6ffe52ba4a016a8f57e3d95d (diff) | |
download | android_hardware_qcom_media-b07da441193a7a0564bef7a781cf2cf65bfef5d0.tar.gz android_hardware_qcom_media-b07da441193a7a0564bef7a781cf2cf65bfef5d0.tar.bz2 android_hardware_qcom_media-b07da441193a7a0564bef7a781cf2cf65bfef5d0.zip |
Merge tag 'LA.UM.8.6.r1-04000-89xx.0' of https://source.codeaurora.org/quic/la/platform/hardware/qcom/media into lineage-17.1-caf-msm8996lineage-17.1-caf-msm8996
"LA.UM.8.6.r1-04000-89xx.0"
Change-Id: I5df646f73744c68583e060e54f5e422722b38011
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp index 9f238817..edc9da95 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -7770,16 +7770,6 @@ OMX_ERRORTYPE omx_vdec::empty_this_buffer(OMX_IN OMX_HANDLETYPE hComp, buffer->pBuffer = (OMX_U8*)drv_ctx.ptr_inputbuffer[nBufferIndex].bufferaddr; } - /* Check if the input timestamp in seconds is greater than LONG_MAX - or lesser than LONG_MIN. */ - if (buffer->nTimeStamp / 1000000 > LONG_MAX || - buffer->nTimeStamp / 1000000 < LONG_MIN) { - /* This timestamp cannot be contained in driver timestamp field */ - DEBUG_PRINT_ERROR("[ETB] BHdr(%p) pBuf(%p) nTS(%lld) nFL(%u) >> Invalid timestamp", - buffer, buffer->pBuffer, buffer->nTimeStamp, (unsigned int)buffer->nFilledLen); - return OMX_ErrorBadParameter; - } - DEBUG_PRINT_LOW("[ETB] BHdr(%p) pBuf(%p) nTS(%lld) nFL(%u)", buffer, buffer->pBuffer, buffer->nTimeStamp, (unsigned int)buffer->nFilledLen); if (arbitrary_bytes) { @@ -13053,8 +13043,13 @@ OMX_BUFFERHEADERTYPE* omx_vdec::allocate_color_convert_buf::get_il_buf_hdr() { bool status = true; pthread_mutex_lock(&omx->c_lock); + /* Whenever port mode is set to kPortModeDynamicANWBuffer, Video Frameworks + always uses VideoNativeMetadata and OMX recives buffer type as + grallocsource via storeMetaDataInBuffers_l API. The buffer_size + will be communicated to frameworks via IndexParamPortdefinition. */ if (!enabled) - buffer_size = omx->drv_ctx.op_buf.buffer_size; + buffer_size = omx->dynamic_buf_mode ? sizeof(struct VideoNativeMetadata) : + omx->drv_ctx.op_buf.buffer_size; else { if (!c2d.get_buffer_size(C2D_OUTPUT,buffer_size)) { DEBUG_PRINT_ERROR("Get buffer size failed"); @@ -13068,9 +13063,10 @@ fail_get_buffer_size: } OMX_ERRORTYPE omx_vdec::allocate_color_convert_buf::set_buffer_req( - OMX_U32 buffer_size, OMX_U32 actual_count) { - OMX_U32 expectedSize = enabled ? buffer_size_req : omx->drv_ctx.op_buf.buffer_size; - + OMX_U32 buffer_size, OMX_U32 actual_count) +{ + OMX_U32 expectedSize = enabled ? buffer_size_req : omx->dynamic_buf_mode ? + sizeof(struct VideoDecoderOutputMetaData) : omx->drv_ctx.op_buf.buffer_size; if (buffer_size < expectedSize) { DEBUG_PRINT_ERROR("OP Requirements: Client size(%u) insufficient v/s requested(%u)", buffer_size, expectedSize); |