diff options
author | Lajos Molnar <lajos@google.com> | 2014-07-31 10:31:26 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-07-31 10:32:23 -0700 |
commit | e26940f11c3f2040bced09f06a8f374b50c985fb (patch) | |
tree | 362db6e16247538d75374f49845893732b8be239 /media/libmediaplayerservice/nuplayer/GenericSource.h | |
parent | 3423bbdb05f843a64356fa24e8657f03ecbb7d65 (diff) | |
download | frameworks_av-e26940f11c3f2040bced09f06a8f374b50c985fb.zip frameworks_av-e26940f11c3f2040bced09f06a8f374b50c985fb.tar.gz frameworks_av-e26940f11c3f2040bced09f06a8f374b50c985fb.tar.bz2 |
GenericSource: timed text support
Bug: 16385674
Change-Id: Ib322cc13488dcadf2409921272cd469304b0af37
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.h')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/GenericSource.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.h b/media/libmediaplayerservice/nuplayer/GenericSource.h index 4e25d55..3c5f55c 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.h +++ b/media/libmediaplayerservice/nuplayer/GenericSource.h @@ -58,6 +58,7 @@ struct NuPlayer::GenericSource : public NuPlayer::Source { virtual status_t getDuration(int64_t *durationUs); virtual size_t getTrackCount() const; virtual sp<AMessage> getTrackInfo(size_t trackIndex) const; + virtual ssize_t getSelectedTrack(media_track_type type) const; virtual status_t selectTrack(size_t trackIndex, bool select); virtual status_t seekTo(int64_t seekTimeUs); @@ -73,7 +74,9 @@ protected: private: enum { kWhatFetchSubtitleData, + kWhatFetchTimedTextData, kWhatSendSubtitleData, + kWhatSendTimedTextData, kWhatChangeAVSource, }; @@ -88,8 +91,10 @@ private: Track mAudioTrack; Track mVideoTrack; Track mSubtitleTrack; + Track mTimedTextTrack; int32_t mFetchSubtitleDataGeneration; + int32_t mFetchTimedTextDataGeneration; int64_t mDurationUs; bool mAudioIsVorbis; bool mIsWidevine; @@ -98,6 +103,14 @@ private: void initFromDataSource(const sp<DataSource> &dataSource); + void fetchTextData( + uint32_t what, media_track_type type, + int32_t curGen, sp<AnotherPacketSource> packets, sp<AMessage> msg); + + void sendTextData( + uint32_t what, media_track_type type, + int32_t curGen, sp<AnotherPacketSource> packets, sp<AMessage> msg); + sp<ABuffer> mediaBufferToABuffer( MediaBuffer *mbuf, media_track_type trackType, |