diff options
author | Lajos Molnar <lajos@google.com> | 2013-11-06 21:04:34 -0800 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2013-11-14 13:53:56 -0800 |
commit | 4dd0a8a3d66c2853faf2834565b3c5df4f68734d (patch) | |
tree | 4cc6ee6dc0c7f72f5ae0facfd84b0342c5f87afe /include | |
parent | 4215e6166fca9f87a6e9e848b3dfd4ab0d25c954 (diff) | |
download | frameworks_av-4dd0a8a3d66c2853faf2834565b3c5df4f68734d.zip frameworks_av-4dd0a8a3d66c2853faf2834565b3c5df4f68734d.tar.gz frameworks_av-4dd0a8a3d66c2853faf2834565b3c5df4f68734d.tar.bz2 |
WA: Queue extra buffers on output port during reconfig if input EOS-ed
Some codecs may return input buffers before having them processed.
This causes a halt if we already signaled an EOS on the input
port. For now keep submitting output meta buffers one at a time if
the input EOS-ed, but the output not yet.
Normally, we submit an output buffer for each input buffer that is
with the component (waiting to be processed).
Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11433909
Diffstat (limited to 'include')
-rw-r--r-- | include/media/stagefright/ACodec.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h index e796ab3..7395055 100644 --- a/include/media/stagefright/ACodec.h +++ b/include/media/stagefright/ACodec.h @@ -116,6 +116,7 @@ private: kWhatStart = 'star', kWhatRequestIDRFrame = 'ridr', kWhatSetParameters = 'setP', + kWhatSubmitOutputMetaDataBufferIfEOS = 'subm', }; enum { @@ -212,6 +213,7 @@ private: OMX_U32 *nMinUndequeuedBuffers); status_t allocateOutputMetaDataBuffers(); status_t submitOutputMetaDataBuffer(); + void signalSubmitOutputMetaDataBufferIfEOS_workaround(); status_t allocateOutputBuffersFromNativeWindow(); status_t cancelBufferToNativeWindow(BufferInfo *info); status_t freeOutputBuffersNotOwnedByComponent(); |