summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2013-11-07 14:39:03 -0800
committerAndy McFadden <fadden@android.com>2013-11-07 14:39:03 -0800
commit5572b3afe3e63110ef9e6d228112ca7cbfac866b (patch)
tree71f94c29c1f0bba1905477a23611561e482d3639 /media
parentfd6ecdd39bd83ea020f78b425e96310380d66c35 (diff)
downloadframeworks_av-5572b3afe3e63110ef9e6d228112ca7cbfac866b.zip
frameworks_av-5572b3afe3e63110ef9e6d228112ca7cbfac866b.tar.gz
frameworks_av-5572b3afe3e63110ef9e6d228112ca7cbfac866b.tar.bz2
Replace assert with error message
The failure happens when vendor code sends EMPTY_BUFFER_DONE twice on the same buffer. The second time through, we see a slot that has already been emptied, and get very confused. This should be handled with an error, not an assertion, so we now log a stern complaint and carry on. Bug 11557463 Change-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/omx/GraphicBufferSource.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp
index f295e5a..7d45386 100644
--- a/media/libstagefright/omx/GraphicBufferSource.cpp
+++ b/media/libstagefright/omx/GraphicBufferSource.cpp
@@ -213,7 +213,12 @@ void GraphicBufferSource::codecBufferEmptied(OMX_BUFFERHEADERTYPE* header) {
// see if the GraphicBuffer reference was null, which should only ever
// happen for EOS.
if (codecBuffer.mGraphicBuffer == NULL) {
- CHECK(mEndOfStream && mEndOfStreamSent);
+ if (!(mEndOfStream && mEndOfStreamSent)) {
+ // This can happen when broken code sends us the same buffer
+ // twice in a row.
+ ALOGE("ERROR: codecBufferEmptied on non-EOS null buffer "
+ "(buffer emptied twice?)");
+ }
// No GraphicBuffer to deal with, no additional input or output is
// expected, so just return.
return;