summaryrefslogtreecommitdiff
path: root/msm8996
diff options
context:
space:
mode:
authorSanthosh Behara <santhoshbehara@codeaurora.org>2017-10-10 21:48:37 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-10-10 21:48:37 +0000
commit238577213abf63d3be7d3ca18bbbd1e4a48c190b (patch)
treecf2361e2cf71976173ca756c0d6d71ad7abac223 /msm8996
parent2cd0260b52df0073e9e7ce873f4a4360b61805ac (diff)
parentfab48ae9b1f20e9299cfe60ea467d7e3bb208bac (diff)
downloadmedia-238577213abf63d3be7d3ca18bbbd1e4a48c190b.tar.gz
mm-video-v4l2: venc: Protect buffer from being freed while accessing am: a569853311 am: 2fcd17bd3a am: 95656fe660
am: fab48ae9b1 Change-Id: Ie92d6a2786b82e7a812cef1524b1daaa9e53e62b
Diffstat (limited to 'msm8996')
-rw-r--r--msm8996/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp2
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 256cada..c9ab332 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
@@ -2659,6 +2659,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;
@@ -3584,6 +3585,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;