summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-10-09 14:11:28 -0700
committerAndreas Huber <andih@google.com>2009-10-13 09:46:46 -0700
commit7f281f87670c63775ea1ae8b24af31822d5ad416 (patch)
treec04964f9bc176627df0eec3688b00bc17479bc06 /media/libmediaplayerservice
parent0bf3921522461b1c7d321d0c667c1020ab3110bc (diff)
downloadframeworks_av-7f281f87670c63775ea1ae8b24af31822d5ad416.zip
frameworks_av-7f281f87670c63775ea1ae8b24af31822d5ad416.tar.gz
frameworks_av-7f281f87670c63775ea1ae8b24af31822d5ad416.tar.bz2
OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/StagefrightMetadataRetriever.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp b/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
index 64e9f2f..0e92162 100644
--- a/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
+++ b/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
@@ -130,7 +130,10 @@ VideoFrame *StagefrightMetadataRetriever::captureFrame() {
decoder->start();
MediaBuffer *buffer;
- status_t err = decoder->read(&buffer);
+ status_t err;
+ do {
+ err = decoder->read(&buffer);
+ } while (err == INFO_FORMAT_CHANGED);
if (err != OK) {
CHECK_EQ(buffer, NULL);