summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright
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 /include/media/stagefright
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 'include/media/stagefright')
-rw-r--r--include/media/stagefright/MediaErrors.h3
-rw-r--r--include/media/stagefright/MediaSource.h3
-rw-r--r--include/media/stagefright/OMXCodec.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/include/media/stagefright/MediaErrors.h b/include/media/stagefright/MediaErrors.h
index 2bb0ed6..73d0f77 100644
--- a/include/media/stagefright/MediaErrors.h
+++ b/include/media/stagefright/MediaErrors.h
@@ -36,6 +36,9 @@ enum {
ERROR_BUFFER_TOO_SMALL = MEDIA_ERROR_BASE - 9,
ERROR_UNSUPPORTED = MEDIA_ERROR_BASE - 10,
ERROR_END_OF_STREAM = MEDIA_ERROR_BASE - 11,
+
+ // Not technically an error.
+ INFO_FORMAT_CHANGED = MEDIA_ERROR_BASE - 12,
};
} // namespace android
diff --git a/include/media/stagefright/MediaSource.h b/include/media/stagefright/MediaSource.h
index d1fa114..96d57e7 100644
--- a/include/media/stagefright/MediaSource.h
+++ b/include/media/stagefright/MediaSource.h
@@ -51,6 +51,9 @@ struct MediaSource : public RefBase {
// buffer is available, an error is encountered of the end of the stream
// is reached.
// End of stream is signalled by a result of ERROR_END_OF_STREAM.
+ // A result of INFO_FORMAT_CHANGED indicates that the format of this
+ // MediaSource has changed mid-stream, the client can continue reading
+ // but should be prepared for buffers of the new configuration.
virtual status_t read(
MediaBuffer **buffer, const ReadOptions *options = NULL) = 0;
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h
index ff7e34a..ec043a9 100644
--- a/include/media/stagefright/OMXCodec.h
+++ b/include/media/stagefright/OMXCodec.h
@@ -124,6 +124,7 @@ private:
bool mInitialBufferSubmit;
bool mSignalledEOS;
bool mNoMoreOutputData;
+ bool mOutputPortSettingsHaveChanged;
int64_t mSeekTimeUs;
Mutex mLock;