diff options
| author | Praveen Chavan <pchavan@codeaurora.org> | 2013-10-08 22:08:04 -0700 |
|---|---|---|
| committer | The Android Automerger <android-build@android.com> | 2013-10-09 14:35:04 -0700 |
| commit | ca1f138f42a5b7e2767235cb036f75f3bbb759f4 (patch) | |
| tree | 686b6a48d27f9284e0b6bc591b2d0a5688b2092c | |
| parent | 8fe4c436424465d0c3aa138fddfbc44c283fa29d (diff) | |
| download | android_hardware_qcom_media-ca1f138f42a5b7e2767235cb036f75f3bbb759f4.tar.gz android_hardware_qcom_media-ca1f138f42a5b7e2767235cb036f75f3bbb759f4.tar.bz2 android_hardware_qcom_media-ca1f138f42a5b7e2767235cb036f75f3bbb759f4.zip | |
mm-video: set gralloc metadata only if handle is valid
In case of dynamic buffering, pre-registered gralloc handles are
not initialized. Check for handles before setting metadata to
remove log spam due to null checks
b/11021437
Change-Id: I4a9c79ba27cb09f564b3322b5f7e0748997baf7b
| -rwxr-xr-x | mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp index 92c1d4fb..e702c627 100755 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp @@ -234,7 +234,7 @@ void* async_message_thread (void *input) } } else if (dqevent.type == V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE) { unsigned int *ptr = (unsigned int *)dqevent.u.data; - DEBUG_PRINT_HIGH("REFERENCE RELEASE EVENT RECVD fd = %d offset = %d\n", ptr[0], ptr[1]); + DEBUG_PRINT_LOW("REFERENCE RELEASE EVENT RECVD fd = %d offset = %d\n", ptr[0], ptr[1]); omx->buf_ref_remove(ptr[0], ptr[1]); } else if (dqevent.type == V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER) { unsigned int *ptr = (unsigned int *)dqevent.u.data; @@ -6422,9 +6422,12 @@ OMX_ERRORTYPE omx_vdec::fill_buffer_done(OMX_HANDLETYPE hComp, BufferDim_t dim; dim.sliceWidth = drv_ctx.video_resolution.frame_width; dim.sliceHeight = drv_ctx.video_resolution.frame_height; - DEBUG_PRINT_ERROR("set metadata: update buf-geometry with stride %d slice %d", + DEBUG_PRINT_LOW("set metadata: update buf-geometry with stride %d slice %d", dim.sliceWidth, dim.sliceHeight); - setMetaData(native_buffer[buf_index].privatehandle, UPDATE_BUFFER_GEOMETRY, (void*)&dim); + private_handle_t *private_handle = native_buffer[buf_index].privatehandle; + if (private_handle) { + setMetaData(private_handle, UPDATE_BUFFER_GEOMETRY, (void*)&dim); + } } return OMX_ErrorNone; @@ -7972,9 +7975,12 @@ void omx_vdec::handle_extradata(OMX_BUFFERHEADERTYPE *p_buf_hdr) drv_ctx.interlace = VDEC_InterlaceInterleaveFrameTopFieldFirst; enable = 1; } - if (m_enable_android_native_buffers) - setMetaData((private_handle_t *)native_buffer[buf_index].privatehandle, - PP_PARAM_INTERLACED, (void*)&enable); + if (m_enable_android_native_buffers) { + private_handle_t *private_handle = native_buffer[buf_index].privatehandle; + if (private_handle) { + setMetaData(private_handle, PP_PARAM_INTERLACED, (void*)&enable); + } + } if (!secure_mode && (client_extradata & OMX_INTERLACE_EXTRADATA)) { append_interlace_extradata(p_extra, payload->format); p_extra = (OMX_OTHER_EXTRADATATYPE *) (((OMX_U8 *) p_extra) + p_extra->nSize); |
