diff options
author | Santhosh Behara <santhoshbehara@codeaurora.org> | 2017-10-10 19:41:33 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-10-10 19:41:33 +0000 |
commit | c454469b5f450c75b1d876e611b7d8c57268bf96 (patch) | |
tree | 7a71cbbfc8dda4d43e57b52ef253a26d09ca8304 /msm8998 | |
parent | 43e5970a5f8c223d53639dc793e430094d53e9ae (diff) | |
parent | c566cb0e262d8f892ab9c43c9e9705689f5d5d68 (diff) | |
download | media-c454469b5f450c75b1d876e611b7d8c57268bf96.tar.gz |
mm-video-v4l2: venc: Protect buffer from being freed while accessing am: 6ec830ac0c
am: c566cb0e26
Change-Id: I0b9c874343a78ab932c7213cf9a28685a164678e
Diffstat (limited to 'msm8998')
-rw-r--r-- | msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index c81de88..b678762 100644 --- a/msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -2746,6 +2746,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; @@ -3710,6 +3711,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; |