summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2014-11-11 16:33:20 -0800
committerWei Jia <wjia@google.com>2014-11-14 14:23:52 -0800
commitc6cfd70f24a11b946859485ce398a189c301a4e2 (patch)
tree47238c67d7cf5f6bfdf6845c64966e5e1692eb12 /media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
parent12acd3f0374e7707ff50c04f8075883be71b128c (diff)
downloadframeworks_av-c6cfd70f24a11b946859485ce398a189c301a4e2.zip
frameworks_av-c6cfd70f24a11b946859485ce398a189c301a4e2.tar.gz
frameworks_av-c6cfd70f24a11b946859485ce398a189c301a4e2.tar.bz2
NuPlayer: tunnel decoder with renderer for data buffer passing.
Bug: 18342383 Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
index fb20257..7742d30 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
@@ -25,7 +25,9 @@
namespace android {
struct NuPlayer::DecoderPassThrough : public Decoder {
- DecoderPassThrough(const sp<AMessage> &notify);
+ DecoderPassThrough(const sp<AMessage> &notify,
+ const sp<Source> &source,
+ const sp<Renderer> &renderer);
virtual void configure(const sp<AMessage> &format);
virtual void init();
@@ -45,16 +47,15 @@ protected:
private:
enum {
kWhatRequestABuffer = 'reqB',
- kWhatConfigure = 'conf',
- kWhatInputBufferFilled = 'inpF',
kWhatBufferConsumed = 'bufC',
- kWhatFlush = 'flus',
- kWhatShutdown = 'shuD',
};
sp<AMessage> mNotify;
sp<ALooper> mDecoderLooper;
+ sp<Source> mSource;
+ sp<Renderer> mRenderer;
+
/** Returns true if a buffer was requested.
* Returns false if at EOS or cache already full.
*/
@@ -68,6 +69,8 @@ private:
void requestMaxBuffers();
void onShutdown();
+ int64_t mSkipRenderingUntilMediaTimeUs;
+
int32_t mBufferGeneration;
bool mReachedEOS;
// TODO mPendingBuffersToFill and mPendingBuffersToDrain are only for