summaryrefslogtreecommitdiff
path: root/msm8998
diff options
context:
space:
mode:
authorSanthosh Behara <santhoshbehara@codeaurora.org>2017-10-10 20:26:38 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-10-10 20:26:38 +0000
commitfdbd58329f53dd4117b68f79f9c2c63eaef4c325 (patch)
tree2241d3abbbf0822657b3048439c7630e16d5fabc /msm8998
parentdbfdf8ba80ef14ee6afa81e869213f96f3b60cd4 (diff)
parentc454469b5f450c75b1d876e611b7d8c57268bf96 (diff)
downloadmedia-fdbd58329f53dd4117b68f79f9c2c63eaef4c325.tar.gz
mm-video-v4l2: venc: Protect buffer from being freed while accessing am: 6ec830ac0c am: c566cb0e26
am: c454469b5f Change-Id: I66e159cc5b45f60ed2729e20a52efa7f9b228069
Diffstat (limited to 'msm8998')
-rw-r--r--msm8998/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp2
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 003b2b6..746d025 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
@@ -2754,6 +2754,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;
@@ -3729,6 +3730,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;