diff options
author | Chong Zhang <chz@google.com> | 2014-08-01 13:46:53 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-09-03 22:31:15 -0700 |
commit | b86e68f834b7040518b99d1d0245d5f2e5cb9c86 (patch) | |
tree | 5a908948804024513f7c3ed3d1d8bf07c653bd82 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | |
parent | 9007305003e689362749a264af2eafea80eb12a0 (diff) | |
download | frameworks_av-b86e68f834b7040518b99d1d0245d5f2e5cb9c86.zip frameworks_av-b86e68f834b7040518b99d1d0245d5f2e5cb9c86.tar.gz frameworks_av-b86e68f834b7040518b99d1d0245d5f2e5cb9c86.tar.bz2 |
Split CEA-608 Closed caption into 4 tracks CC1~CC4
Bug: 16463078
Change-Id: Ib3073090934232016e535fbb8fa56cdf9d7ab6eb
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h index 67bddb8..cc1bdff 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h @@ -126,18 +126,20 @@ struct NuPlayer::CCDecoder : public RefBase { bool isSelected() const; void decode(const sp<ABuffer> &accessUnit); void display(int64_t timeUs); + void flush(); private: - struct CCData; - sp<AMessage> mNotify; KeyedVector<int64_t, sp<ABuffer> > mCCMap; - size_t mTrackCount; + size_t mCurrentChannel; int32_t mSelectedTrack; + int32_t mTrackIndices[4]; + Vector<size_t> mFoundChannels; - bool isNullPad(CCData *cc) const; - void dumpBytePair(const sp<ABuffer> &ccBuf) const; + bool isTrackValid(size_t index) const; + int32_t getTrackIndex(size_t channel) const; bool extractFromSEI(const sp<ABuffer> &accessUnit); + sp<ABuffer> filterCCBuf(const sp<ABuffer> &ccBuf, size_t index); DISALLOW_EVIL_CONSTRUCTORS(CCDecoder); }; |