diff options
author | Santhosh Behara <santhoshbehara@codeaurora.org> | 2017-10-10 21:53:09 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-10-10 21:53:09 +0000 |
commit | 79202f83422e3aabb5e0f3d19d8c6991b7aaa325 (patch) | |
tree | 01b627a52d4ea48c9880cd0aa32b8df98ec3de30 /msm8996 | |
parent | e14e79f8efb214ba4c87c9097b74bd0b67065c93 (diff) | |
parent | f349f65cac87fdd3c759be86018c90f5a5318e40 (diff) | |
download | media-79202f83422e3aabb5e0f3d19d8c6991b7aaa325.tar.gz |
mm-video-v4l2: venc: Protect buffer from being freed while accessing am: a569853311 am: 2fcd17bd3a am: 95656fe660 am: fab48ae9b1 am: 238577213a
am: f349f65cac
Change-Id: I7d67a4ddf8730c1350f283be3f4360d3f0ab6fb0
Diffstat (limited to 'msm8996')
-rw-r--r-- | msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index f9282d4..d451e78 100644 --- a/msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -2669,6 +2669,7 @@ OMX_ERRORTYPE omx_video::use_output_buffer( return OMX_ErrorBadParameter; } + auto_lock l(m_buf_lock); if (!m_out_mem_ptr) { output_use_buffer = true; int nBufHdrSize = 0; @@ -3602,6 +3603,7 @@ OMX_ERRORTYPE omx_video::free_buffer(OMX_IN OMX_HANDLETYPE hComp, nPortIndex, (unsigned int)m_sOutPortDef.nBufferCountActual); if (nPortIndex < m_sOutPortDef.nBufferCountActual && BITMASK_PRESENT(&m_out_bm_count, nPortIndex)) { + auto_lock l(m_buf_lock); // Clear the bit associated with it. BITMASK_CLEAR(&m_out_bm_count,nPortIndex); m_sOutPortDef.bPopulated = OMX_FALSE; |