OMX_ERRORTYPE OMXVideoDecoderBase::ProcessorReset(void) { OMX_ERRORTYPE ret; VideoConfigBuffer configBuffer; // reset the configbuffer and set it to mix ret = PrepareConfigBuffer(&configBuffer); CHECK_RETURN_VALUE("PrepareConfigBuffer"); mVideoDecoder->reset(&configBuffer); return OMX_ErrorNone; }
OMX_ERRORTYPE OMXVideoDecoderBase::ProcessorInit(void) { OMX_ERRORTYPE ret; ret = OMXComponentCodecBase::ProcessorInit(); CHECK_RETURN_VALUE("OMXComponentCodecBase::ProcessorInit"); if (mVideoDecoder == NULL) { LOGE("ProcessorInit: Video decoder is not created."); return OMX_ErrorDynamicResourcesUnavailable; } VideoConfigBuffer configBuffer; ret = PrepareConfigBuffer(&configBuffer); CHECK_RETURN_VALUE("PrepareConfigBuffer"); //pthread_mutex_lock(&mSerializationLock); Decode_Status status = mVideoDecoder->start(&configBuffer); //pthread_mutex_unlock(&mSerializationLock); if (status != DECODE_SUCCESS) { return TranslateDecodeStatus(status); } return OMX_ErrorNone; }