summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-06-11 14:49:23 -0700
committerChong Zhang <chz@google.com>2014-06-13 10:18:09 -0700
commita7fa1d9530b6870f2c7850e3025d7db963661803 (patch)
tree384a6c52d5b13b09860eab611c264384e5444592 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
parent404fced9bfa8fa423ee210a271ca051ffd1bec13 (diff)
downloadframeworks_av-a7fa1d9530b6870f2c7850e3025d7db963661803.zip
frameworks_av-a7fa1d9530b6870f2c7850e3025d7db963661803.tar.gz
frameworks_av-a7fa1d9530b6870f2c7850e3025d7db963661803.tar.bz2
support for CEA-608 closed caption
Bug: 15470448 Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
index 2892584..1a4f4ab 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
@@ -101,6 +101,36 @@ private:
DISALLOW_EVIL_CONSTRUCTORS(Decoder);
};
+struct NuPlayer::CCDecoder : public RefBase {
+ enum {
+ kWhatClosedCaptionData,
+ kWhatTrackAdded,
+ };
+
+ CCDecoder(const sp<AMessage> &notify);
+
+ size_t getTrackCount() const;
+ sp<AMessage> getTrackInfo(size_t index) const;
+ status_t selectTrack(size_t index, bool select);
+ bool isSelected() const;
+ void decode(const sp<ABuffer> &accessUnit);
+ void display(int64_t timeUs);
+
+private:
+ struct CCData;
+
+ sp<AMessage> mNotify;
+ KeyedVector<int64_t, sp<ABuffer> > mCCMap;
+ size_t mTrackCount;
+ int32_t mSelectedTrack;
+
+ bool isNullPad(CCData *cc) const;
+ void dumpBytePair(const sp<ABuffer> &ccBuf) const;
+ bool extractFromSEI(const sp<ABuffer> &accessUnit);
+
+ DISALLOW_EVIL_CONSTRUCTORS(CCDecoder);
+};
+
} // namespace android
#endif // NUPLAYER_DECODER_H_