diff options
author | Marco Nelissen <marcone@google.com> | 2014-08-20 20:16:59 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-08-19 02:43:23 +0000 |
commit | 111333eaab12448f45927464c8aeacbbf9a578a1 (patch) | |
tree | 845d25bdc67513f1f0292a0d66242a7fb73e5dda /media/libmediaplayerservice/nuplayer | |
parent | 4deb606bca47f971f1ca05e44b934c5328cfb6b7 (diff) | |
parent | 9e2b7918eb5621b24bd54c922f630da45339de77 (diff) | |
download | frameworks_av-111333eaab12448f45927464c8aeacbbf9a578a1.zip frameworks_av-111333eaab12448f45927464c8aeacbbf9a578a1.tar.gz frameworks_av-111333eaab12448f45927464c8aeacbbf9a578a1.tar.bz2 |
Merge "handle error during flush in MediaPlayer.reset()" into lmp-dev
Diffstat (limited to 'media/libmediaplayerservice/nuplayer')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 8 | ||||
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 75e1371..0a9b65c 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -803,6 +803,14 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { err = UNKNOWN_ERROR; } mRenderer->queueEOS(audio, err); + if (audio && mFlushingAudio != NONE) { + mAudioDecoder.clear(); + mFlushingAudio = SHUT_DOWN; + } else if (!audio && mFlushingVideo != NONE){ + mVideoDecoder.clear(); + mFlushingVideo = SHUT_DOWN; + } + finishFlushIfPossible(); } else if (what == Decoder::kWhatDrainThisBuffer) { renderBuffer(audio, msg); } else { diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 8fce2f4..60c645a 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -44,11 +44,11 @@ NuPlayer::Decoder::Decoder( // Every decoder has its own looper because MediaCodec operations // are blocking, but NuPlayer needs asynchronous operations. mDecoderLooper = new ALooper; - mDecoderLooper->setName("NuPlayerDecoder"); + mDecoderLooper->setName("NPDecoder"); mDecoderLooper->start(false, false, ANDROID_PRIORITY_AUDIO); mCodecLooper = new ALooper; - mCodecLooper->setName("NuPlayerDecoder-MC"); + mCodecLooper->setName("NPDecoder-CL"); mCodecLooper->start(false, false, ANDROID_PRIORITY_AUDIO); } |