diff options
author | Chong Zhang <chz@google.com> | 2015-03-03 19:32:35 -0800 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2015-03-10 14:43:10 -0700 |
commit | 66704af4d82c2b6303609b29402641f861fdcb19 (patch) | |
tree | d0e4590f29767a93b3abed762f04e2f41eba2928 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | |
parent | d4db9dcd7d29234893d580c329f23242197fe664 (diff) | |
download | frameworks_av-66704af4d82c2b6303609b29402641f861fdcb19.zip frameworks_av-66704af4d82c2b6303609b29402641f861fdcb19.tar.gz frameworks_av-66704af4d82c2b6303609b29402641f861fdcb19.tar.bz2 |
NuPlayer: play out pending frames on discontinuity
bug: 19567254
Change-Id: Iff689e1eea54283095068d68bcdff4c2674af554
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h index 1bfa94f..4aab2c6 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h @@ -43,7 +43,7 @@ protected: virtual void onSetRenderer(const sp<Renderer> &renderer); virtual void onGetInputBuffers(Vector<sp<ABuffer> > *dstBuffers); virtual void onResume(bool notifyComplete); - virtual void onFlush(bool notifyComplete); + virtual void onFlush(); virtual void onShutdown(bool notifyComplete); virtual void doRequestBuffers(); @@ -81,6 +81,7 @@ private: bool mIsVideoAVC; bool mIsSecure; bool mFormatChangePending; + bool mTimeChangePending; bool mPaused; bool mResumePending; @@ -93,6 +94,7 @@ private: void requestCodecNotification(); bool isStaleReply(const sp<AMessage> &msg); + void doFlush(bool notifyComplete); status_t fetchInputData(sp<AMessage> &reply); bool onInputBufferFetched(const sp<AMessage> &msg); void onRenderBuffer(const sp<AMessage> &msg); @@ -100,6 +102,8 @@ private: bool supportsSeamlessFormatChange(const sp<AMessage> &to) const; bool supportsSeamlessAudioFormatChange(const sp<AMessage> &targetFormat) const; void rememberCodecSpecificData(const sp<AMessage> &format); + bool isDiscontinuityPending() const; + void finishHandleDiscontinuity(bool flushOnTimeChange); void notifyResumeCompleteIfNecessary(); |