summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/GenericSource.h
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-07-31 10:31:26 -0700
committerLajos Molnar <lajos@google.com>2014-07-31 10:32:23 -0700
commite26940f11c3f2040bced09f06a8f374b50c985fb (patch)
tree362db6e16247538d75374f49845893732b8be239 /media/libmediaplayerservice/nuplayer/GenericSource.h
parent3423bbdb05f843a64356fa24e8657f03ecbb7d65 (diff)
downloadframeworks_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.h13
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,