Loading media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +18 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ NuPlayer::Decoder::Decoder( : mNotify(notify), mNativeWindow(nativeWindow), mBufferGeneration(0), mPaused(true), mComponentName("decoder") { // Every decoder has its own looper because MediaCodec operations // are blocking, but NuPlayer needs asynchronous operations. Loading Loading @@ -112,6 +113,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { mOutputBuffers.size()); requestCodecNotification(); mPaused = false; } void NuPlayer::Decoder::requestCodecNotification() { Loading Loading @@ -352,6 +354,11 @@ void NuPlayer::Decoder::onFlush() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatFlushCompleted); notify->post(); mPaused = true; } void NuPlayer::Decoder::onResume() { mPaused = false; } void NuPlayer::Decoder::onShutdown() { Loading Loading @@ -380,6 +387,7 @@ void NuPlayer::Decoder::onShutdown() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatShutdownCompleted); notify->post(); mPaused = true; } void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { Loading @@ -397,8 +405,10 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { case kWhatCodecNotify: { if (!isStaleReply(msg)) { if (!mPaused) { while (handleAnInputBuffer()) { } } while (handleAnOutputBuffer()) { } Loading Loading @@ -430,6 +440,12 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { break; } case kWhatResume: { onResume(); break; } case kWhatShutdown: { onShutdown(); Loading @@ -447,7 +463,7 @@ void NuPlayer::Decoder::signalFlush() { } void NuPlayer::Decoder::signalResume() { // nothing to do (new AMessage(kWhatResume, id()))->post(); } void NuPlayer::Decoder::initiateShutdown() { Loading media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h +2 −0 Original line number Diff line number Diff line Loading @@ -87,11 +87,13 @@ private: void onConfigure(const sp<AMessage> &format); void onFlush(); void onResume(); void onInputBufferFilled(const sp<AMessage> &msg); void onRenderBuffer(const sp<AMessage> &msg); void onShutdown(); int32_t mBufferGeneration; bool mPaused; AString mComponentName; bool supportsSeamlessAudioFormatChange(const sp<AMessage> &targetFormat) const; Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +18 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ NuPlayer::Decoder::Decoder( : mNotify(notify), mNativeWindow(nativeWindow), mBufferGeneration(0), mPaused(true), mComponentName("decoder") { // Every decoder has its own looper because MediaCodec operations // are blocking, but NuPlayer needs asynchronous operations. Loading Loading @@ -112,6 +113,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { mOutputBuffers.size()); requestCodecNotification(); mPaused = false; } void NuPlayer::Decoder::requestCodecNotification() { Loading Loading @@ -352,6 +354,11 @@ void NuPlayer::Decoder::onFlush() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatFlushCompleted); notify->post(); mPaused = true; } void NuPlayer::Decoder::onResume() { mPaused = false; } void NuPlayer::Decoder::onShutdown() { Loading Loading @@ -380,6 +387,7 @@ void NuPlayer::Decoder::onShutdown() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatShutdownCompleted); notify->post(); mPaused = true; } void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { Loading @@ -397,8 +405,10 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { case kWhatCodecNotify: { if (!isStaleReply(msg)) { if (!mPaused) { while (handleAnInputBuffer()) { } } while (handleAnOutputBuffer()) { } Loading Loading @@ -430,6 +440,12 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { break; } case kWhatResume: { onResume(); break; } case kWhatShutdown: { onShutdown(); Loading @@ -447,7 +463,7 @@ void NuPlayer::Decoder::signalFlush() { } void NuPlayer::Decoder::signalResume() { // nothing to do (new AMessage(kWhatResume, id()))->post(); } void NuPlayer::Decoder::initiateShutdown() { Loading
media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h +2 −0 Original line number Diff line number Diff line Loading @@ -87,11 +87,13 @@ private: void onConfigure(const sp<AMessage> &format); void onFlush(); void onResume(); void onInputBufferFilled(const sp<AMessage> &msg); void onRenderBuffer(const sp<AMessage> &msg); void onShutdown(); int32_t mBufferGeneration; bool mPaused; AString mComponentName; bool supportsSeamlessAudioFormatChange(const sp<AMessage> &targetFormat) const; Loading