Skip to content

Commit a755a9e

Browse files
rtammekivihyperb1iss
authored andcommitted
mm-video: vdec: Fix memory leak in color converter.
When OMX is deinitialized, the color converter buffers stay intact, causing the available memory pool to have less continuous space available. Change-Id: Icc2d730d540bae153c9fde36a6f4267ff3f9f088
1 parent 5038d53 commit a755a9e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

mm-video/vidc/vdec/inc/omx_vdec.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -874,8 +874,9 @@ class omx_vdec: public qc_omx_component
874874
OMX_BUFFERHEADERTYPE **bufferHdr,OMX_U32 port,OMX_PTR appData,
875875
OMX_U32 bytes);
876876
OMX_ERRORTYPE free_output_buffer(OMX_BUFFERHEADERTYPE *bufferHdr);
877-
private:
878877
#define MAX_COUNT 32
878+
OMX_BUFFERHEADERTYPE m_out_mem_ptr_client[MAX_COUNT];
879+
private:
879880
omx_vdec *omx;
880881
bool enabled;
881882
OMX_COLOR_FORMATTYPE ColorFormat;
@@ -889,7 +890,6 @@ class omx_vdec: public qc_omx_component
889890
OMX_QCOM_PLATFORM_PRIVATE_LIST m_platform_list_client[MAX_COUNT];
890891
OMX_QCOM_PLATFORM_PRIVATE_ENTRY m_platform_entry_client[MAX_COUNT];
891892
OMX_QCOM_PLATFORM_PRIVATE_PMEM_INFO m_pmem_info_client[MAX_COUNT];
892-
OMX_BUFFERHEADERTYPE m_out_mem_ptr_client[MAX_COUNT];
893893
struct vdec_ion op_buf_ion_info[MAX_COUNT];
894894
unsigned char *pmem_baseaddress[MAX_COUNT];
895895
int pmem_fd[MAX_COUNT];

mm-video/vidc/vdec/src/omx_vdec.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6407,6 +6407,7 @@ OMX_ERRORTYPE omx_vdec::component_deinit(OMX_IN OMX_HANDLETYPE hComp)
64076407
for (i=0; i < drv_ctx.op_buf.actualcount; i++ )
64086408
{
64096409
free_output_buffer (&m_out_mem_ptr[i]);
6410+
client_buffers.free_output_buffer (&client_buffers.m_out_mem_ptr_client[i]);
64106411
#ifdef _ANDROID_ICS_
64116412
if (m_enable_android_native_buffers)
64126413
{

0 commit comments

Comments
 (0)