MFC_OUTPUT_BUFFER_PLANE, pDstInputData->bufferHeader);
if (codecReturn != VIDEO_ERROR_NONE) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s : %d", __FUNCTION__, __LINE__);
- ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
+ if (codecReturn != VIDEO_ERROR_WRONGBUFFERSIZE) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s : %d", __FUNCTION__, __LINE__);
+ ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
+ }
goto EXIT;
}
Mpeg4CodecStart(pOMXComponent, OUTPUT_PORT_INDEX);
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "timestamp %lld us (%.2f secs), indexTimestamp: %d, nFlags: 0x%x", pDstOutputData->timeStamp, pDstOutputData->timeStamp / 1E6, indexTimestamp, pDstOutputData->nFlags);
}
- if ((displayStatus == VIDEO_FRAME_STATUS_CHANGE_RESOL) ||
- (displayStatus == VIDEO_FRAME_STATUS_DECODING_FINISHED) ||
+ if ((displayStatus == VIDEO_FRAME_STATUS_DECODING_FINISHED) ||
((pDstOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "displayStatus:%d, nFlags0x%x", displayStatus, pDstOutputData->nFlags);
pDstOutputData->remainDataLen = 0;
pVideoDec->exynos_codec_getCodecInputPrivateData = &GetCodecInputPrivateData;
pVideoDec->exynos_codec_getCodecOutputPrivateData = &GetCodecOutputPrivateData;
- pVideoDec->exynos_codec_reconfigAllBuffers = &Mpeg4CodecCheckResolutionChange;
+ pVideoDec->exynos_codec_reconfigAllBuffers = &Mpeg4CodecReconfigAllBuffers;
pVideoDec->hSharedMemory = Exynos_OSAL_SharedMemory_Open();
if (pVideoDec->hSharedMemory == NULL) {
(unsigned int *)nAllocLen, (unsigned int *)dataLen,
MFC_OUTPUT_BUFFER_PLANE, pDstInputData->bufferHeader);
if (codecReturn != VIDEO_ERROR_NONE) {
- Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s : %d", __FUNCTION__, __LINE__);
- ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
+ if (codecReturn != VIDEO_ERROR_WRONGBUFFERSIZE) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s : %d", __FUNCTION__, __LINE__);
+ ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
+ }
goto EXIT;
}
VP8CodecStart(pOMXComponent, OUTPUT_PORT_INDEX);
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "timestamp %lld us (%.2f secs), indexTimestamp: %d, nFlags: 0x%x", pDstOutputData->timeStamp, pDstOutputData->timeStamp / 1E6, indexTimestamp, pDstOutputData->nFlags);
}
- if ((displayStatus == VIDEO_FRAME_STATUS_CHANGE_RESOL) ||
- (displayStatus == VIDEO_FRAME_STATUS_DECODING_FINISHED) ||
+ if ((displayStatus == VIDEO_FRAME_STATUS_DECODING_FINISHED) ||
((pDstOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "displayStatus:%d, nFlags0x%x", displayStatus, pDstOutputData->nFlags);
pDstOutputData->remainDataLen = 0;