summaryrefslogtreecommitdiffstats
path: root/sec_mm/sec_omx
diff options
context:
space:
mode:
authorSeungBeom Kim <sbcrux.kim@samsung.com>2011-11-20 16:20:56 +0900
committerJames Dong <jdong@google.com>2011-11-21 10:07:40 -0800
commit75b8e0dfe910f3de86e0b219eeeabcb04fd8a2f1 (patch)
tree6052f724f400bf6d8a1b9499f0f85d200127e3f5 /sec_mm/sec_omx
parentcba9655c68bc9c787333f63b18c564b70ffc40b2 (diff)
downloaddevice_samsung_crespo-75b8e0dfe910f3de86e0b219eeeabcb04fd8a2f1.zip
device_samsung_crespo-75b8e0dfe910f3de86e0b219eeeabcb04fd8a2f1.tar.gz
device_samsung_crespo-75b8e0dfe910f3de86e0b219eeeabcb04fd8a2f1.tar.bz2
Fix ANR in com.google.android.videoeditor
Change-Id: I31318543c781a9d6b866620c7d3f4dcd7af24a57 Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com> related-to-bug: 5619226
Diffstat (limited to 'sec_mm/sec_omx')
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c3
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
index 07e1a89..e10e916 100644
--- a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
+++ b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
@@ -1035,7 +1035,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
if ((SsbSipMfcDecGetConfig(pH264Dec->hMFCH264Handle.hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) ||
(((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) {
pOutputData->timeStamp = pInputData->timeStamp;
- pOutputData->nFlags = pInputData->nFlags;
+ pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS));
} else {
pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp];
pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp];
@@ -1093,6 +1093,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
}
if ((pH264Dec->bFirstFrame == OMX_TRUE) &&
((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
+ pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS);
pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
}
diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
index 052a4c9..d7e81df 100644
--- a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
+++ b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
@@ -1180,7 +1180,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
if ((SsbSipMfcDecGetConfig(hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) ||
(((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) {
pOutputData->timeStamp = pInputData->timeStamp;
- pOutputData->nFlags = pInputData->nFlags;
+ pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS));
} else {
pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp];
pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp];
@@ -1238,6 +1238,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
}
if ((pMpeg4Dec->bFirstFrame == OMX_TRUE) &&
((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
+ pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS);
pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
}