diff options
Diffstat (limited to 'videocodec/OMXVideoEncoderMPEG4.cpp')
| -rw-r--r-- | videocodec/OMXVideoEncoderMPEG4.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/videocodec/OMXVideoEncoderMPEG4.cpp b/videocodec/OMXVideoEncoderMPEG4.cpp index 215e213..e8f6b14 100644 --- a/videocodec/OMXVideoEncoderMPEG4.cpp +++ b/videocodec/OMXVideoEncoderMPEG4.cpp @@ -157,6 +157,13 @@ OMX_ERRORTYPE OMXVideoEncoderMPEG4::ProcessorProcess( outfilledlen = outBuf.dataSize; mFirstFrame = OMX_FALSE; } else { + if (mFrameInputCount == 1) { + retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE; + retains[OUTPORT_INDEX] = BUFFER_RETAIN_GETAGAIN; + mFrameRetrieved = OMX_TRUE; + goto out; + } + outBuf.format = OUTPUT_EVERYTHING; mVideoEncoder->getOutput(&outBuf); CHECK_ENCODE_STATUS("getOutput"); @@ -245,7 +252,7 @@ out: OMX_ERRORTYPE OMXVideoEncoderMPEG4::BuildHandlerList(void) { OMXVideoEncoderBase::BuildHandlerList(); AddHandler(OMX_IndexParamVideoMpeg4, GetParamVideoMpeg4, SetParamVideoMpeg4); - AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported); + AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported); return OMX_ErrorNone; } |
