diff options
author | Lajos Molnar <lajos@google.com> | 2014-08-20 19:25:30 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-08-23 08:49:27 -0700 |
commit | 87603c0dd1f4e62e52feffa8d6e960ad21f68893 (patch) | |
tree | ef7602edc3877ac901b6cb502a83d0288eb40868 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | |
parent | 848726d845b51da04364bdaf4ec915c85d593c0e (diff) | |
download | frameworks_av-87603c0dd1f4e62e52feffa8d6e960ad21f68893.zip frameworks_av-87603c0dd1f4e62e52feffa8d6e960ad21f68893.tar.gz frameworks_av-87603c0dd1f4e62e52feffa8d6e960ad21f68893.tar.bz2 |
NuPlayer: remember and resubmit CSDs after flush
Bug: 17118001
Change-Id: I09bbefd4c05de0db1c593e8d6d38859358a20ebb
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h index c6fc237..67bddb8 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h @@ -36,7 +36,8 @@ struct NuPlayer::Decoder : public AHandler { virtual void init(); status_t getInputBuffers(Vector<sp<ABuffer> > *dstBuffers) const; - virtual void signalFlush(); + virtual void signalFlush(const sp<AMessage> &format = NULL); + virtual void signalUpdateFormat(const sp<AMessage> &format); virtual void signalResume(); virtual void initiateShutdown(); @@ -67,6 +68,7 @@ private: kWhatRenderBuffer = 'rndr', kWhatFlush = 'flus', kWhatShutdown = 'shuD', + kWhatUpdateFormat = 'uFmt', }; sp<AMessage> mNotify; @@ -80,6 +82,8 @@ private: Vector<sp<ABuffer> > mInputBuffers; Vector<sp<ABuffer> > mOutputBuffers; + Vector<sp<ABuffer> > mCSDsForCurrentFormat; + Vector<sp<ABuffer> > mCSDsToSubmit; Vector<bool> mInputBufferIsDequeued; Vector<MediaBuffer *> mMediaBuffers; @@ -103,6 +107,7 @@ private: AString mComponentName; bool supportsSeamlessAudioFormatChange(const sp<AMessage> &targetFormat) const; + void rememberCodecSpecificData(const sp<AMessage> &format); DISALLOW_EVIL_CONSTRUCTORS(Decoder); }; |