diff options
author | Andreas Huber <andih@google.com> | 2010-07-21 10:41:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-07-21 10:41:45 -0700 |
commit | 9511ab83d6a136a4140ddf78bd4be61b7c3a2bbe (patch) | |
tree | 8aeb6c4b6f24f4eb72597642315c49caf0014aed /include/media | |
parent | 0119ba5bd3335fe026927eeb65de535a7bd8c838 (diff) | |
parent | 8a9a931fff2d184f7cf77fdd8a425f682f006cfd (diff) | |
download | frameworks_base-9511ab83d6a136a4140ddf78bd4be61b7c3a2bbe.zip frameworks_base-9511ab83d6a136a4140ddf78bd4be61b7c3a2bbe.tar.gz frameworks_base-9511ab83d6a136a4140ddf78bd4be61b7c3a2bbe.tar.bz2 |
am 8a9a931f: am 8138e841: Merge "Support finer seek control on MediaSources." into gingerbread
Merge commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd'
* commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd':
Support finer seek control on MediaSources.
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/stagefright/MediaSource.h | 12 | ||||
-rw-r--r-- | include/media/stagefright/MetaData.h | 1 | ||||
-rw-r--r-- | include/media/stagefright/OMXCodec.h | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/include/media/stagefright/MediaSource.h b/include/media/stagefright/MediaSource.h index 9cc94c8..a31395e 100644 --- a/include/media/stagefright/MediaSource.h +++ b/include/media/stagefright/MediaSource.h @@ -62,14 +62,21 @@ struct MediaSource : public RefBase { // a) not request a seek // b) not be late, i.e. lateness_us = 0 struct ReadOptions { + enum SeekMode { + SEEK_PREVIOUS_SYNC, + SEEK_NEXT_SYNC, + SEEK_CLOSEST_SYNC, + SEEK_CLOSEST, + }; + ReadOptions(); // Reset everything back to defaults. void reset(); - void setSeekTo(int64_t time_us); + void setSeekTo(int64_t time_us, SeekMode mode = SEEK_CLOSEST_SYNC); void clearSeekTo(); - bool getSeekTo(int64_t *time_us) const; + bool getSeekTo(int64_t *time_us, SeekMode *mode) const; void setLateBy(int64_t lateness_us); int64_t getLateBy() const; @@ -81,6 +88,7 @@ struct MediaSource : public RefBase { uint32_t mOptions; int64_t mSeekTimeUs; + SeekMode mSeekMode; int64_t mLatenessUs; }; diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h index cdbf483..e631c7f 100644 --- a/include/media/stagefright/MetaData.h +++ b/include/media/stagefright/MetaData.h @@ -46,6 +46,7 @@ enum { kKeyIsSyncFrame = 'sync', // int32_t (bool) kKeyIsCodecConfig = 'conf', // int32_t (bool) kKeyTime = 'time', // int64_t (usecs) + kKeyTargetTime = 'tarT', // int64_t (usecs) kKeyDuration = 'dura', // int64_t (usecs) kKeyColorFormat = 'colf', kKeyPlatformPrivate = 'priv', // pointer diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 214f43a..79e7a2f 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -141,6 +141,8 @@ private: bool mNoMoreOutputData; bool mOutputPortSettingsHaveChanged; int64_t mSeekTimeUs; + ReadOptions::SeekMode mSeekMode; + int64_t mTargetTimeUs; MediaBuffer *mLeftOverBuffer; |