summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-08-20 19:25:30 -0700
committerLajos Molnar <lajos@google.com>2014-08-23 08:49:27 -0700
commit87603c0dd1f4e62e52feffa8d6e960ad21f68893 (patch)
treeef7602edc3877ac901b6cb502a83d0288eb40868 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
parent848726d845b51da04364bdaf4ec915c85d593c0e (diff)
downloadframeworks_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.h7
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);
};