diff options
| author | Andreas Huber <andih@google.com> | 2010-07-21 10:36:08 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-07-21 10:36:08 -0700 |
| commit | 8138e841a5adb3c5629e263f5a8cb2e936d234ce (patch) | |
| tree | f4ee344bd4ee7c08ce00cbcd1c3dd48eb25ef385 /include/media | |
| parent | 7070b36549d511d6627538c73dfbab23fbae5b43 (diff) | |
| parent | 6624c9fd0bc5e3858a22a04c05b5059445c1c367 (diff) | |
| download | frameworks_base-8138e841a5adb3c5629e263f5a8cb2e936d234ce.zip frameworks_base-8138e841a5adb3c5629e263f5a8cb2e936d234ce.tar.gz frameworks_base-8138e841a5adb3c5629e263f5a8cb2e936d234ce.tar.bz2 | |
Merge "Support finer seek control on MediaSources." into gingerbread
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; |
