summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2014-01-23 16:18:22 -0800
committerRobert Shih <robertshih@google.com>2014-02-24 11:26:54 -0800
commit6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab (patch)
treeae76d5da5f6acb66e553abc039e7e8d4bfc6c0f5 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
parent3a005b3b19b750afe24577ae322aff4602ca2740 (diff)
downloadframeworks_av-6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab.zip
frameworks_av-6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab.tar.gz
frameworks_av-6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab.tar.bz2
NuPlayer side support for seamless format switch.
Avoid reinstantiating decoder if seamless format switch is supported. Change-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
index a876148..78ea74a 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
@@ -36,6 +36,8 @@ struct NuPlayer::Decoder : public AHandler {
void signalResume();
void initiateShutdown();
+ bool supportsSeamlessFormatChange(const sp<AMessage> &to) const;
+
protected:
virtual ~Decoder();
@@ -49,6 +51,7 @@ private:
sp<AMessage> mNotify;
sp<NativeWindowWrapper> mNativeWindow;
+ sp<AMessage> mFormat;
sp<ACodec> mCodec;
sp<ALooper> mCodecLooper;
@@ -59,6 +62,8 @@ private:
void onFillThisBuffer(const sp<AMessage> &msg);
+ bool supportsSeamlessAudioFormatChange(const sp<AMessage> &targetFormat) const;
+
DISALLOW_EVIL_CONSTRUCTORS(Decoder);
};