summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPraveen Chavan <pchavan@codeaurora.org>2013-10-08 22:08:04 -0700
committerThe Android Automerger <android-build@android.com>2013-10-09 14:35:04 -0700
commitca1f138f42a5b7e2767235cb036f75f3bbb759f4 (patch)
tree686b6a48d27f9284e0b6bc591b2d0a5688b2092c
parent8fe4c436424465d0c3aa138fddfbc44c283fa29d (diff)
downloadandroid_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-xmm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp18
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);