aboutsummaryrefslogtreecommitdiffstats
path: root/videocodec/OMXVideoEncoderH263.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'videocodec/OMXVideoEncoderH263.cpp')
-rw-r--r--videocodec/OMXVideoEncoderH263.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/videocodec/OMXVideoEncoderH263.cpp b/videocodec/OMXVideoEncoderH263.cpp
index 866a0f5..084f2ce 100644
--- a/videocodec/OMXVideoEncoderH263.cpp
+++ b/videocodec/OMXVideoEncoderH263.cpp
@@ -141,6 +141,13 @@ OMX_ERRORTYPE OMXVideoEncoderH263::ProcessorProcess(
ports[INPORT_INDEX]->ReturnAllRetainedBuffers();
}
+ if (mFrameInputCount == 0) {
+ retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE;
+ retains[OUTPORT_INDEX] = BUFFER_RETAIN_GETAGAIN;
+ mFrameRetrieved = OMX_TRUE;
+ goto out;
+ }
+
outBuf.format = OUTPUT_EVERYTHING;
ret = mVideoEncoder->getOutput(&outBuf);
// CHECK_ENCODE_STATUS("encode");
@@ -241,7 +248,7 @@ out:
OMX_ERRORTYPE OMXVideoEncoderH263::BuildHandlerList(void) {
OMXVideoEncoderBase::BuildHandlerList();
AddHandler(OMX_IndexParamVideoH263, GetParamVideoH263, SetParamVideoH263);
- AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported);
+ AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported);
return OMX_ErrorNone;
}