summaryrefslogtreecommitdiffstats
path: root/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mm-video-v4l2/vidc/venc/src/omx_video_base.cpp')
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_base.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
index e273105b..d51de80e 100644
--- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
+++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
@@ -2966,17 +2966,15 @@ OMX_ERRORTYPE omx_video::free_buffer(OMX_IN OMX_HANDLETYPE hComp,
m_sInPortDef.bPopulated = OMX_FALSE;
/*Free the Buffer Header*/
- if (release_input_done()
-#ifdef _ANDROID_ICS_
- && !meta_mode_enable
-#endif
- ) {
+ if (release_input_done()) {
input_use_buffer = false;
- if (m_inp_mem_ptr) {
+ // "m_inp_mem_ptr" may point to "meta_buffer_hdr" in some modes,
+ // in which case, it was not explicitly allocated
+ if (m_inp_mem_ptr && m_inp_mem_ptr != meta_buffer_hdr) {
DEBUG_PRINT_LOW("Freeing m_inp_mem_ptr\n");
free (m_inp_mem_ptr);
- m_inp_mem_ptr = NULL;
}
+ m_inp_mem_ptr = NULL;
if (m_pInput_pmem) {
DEBUG_PRINT_LOW("Freeing m_pInput_pmem\n");
free(m_pInput_pmem);