summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-08-20 20:16:59 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-19 02:43:23 +0000
commit111333eaab12448f45927464c8aeacbbf9a578a1 (patch)
tree845d25bdc67513f1f0292a0d66242a7fb73e5dda /media/libmediaplayerservice/nuplayer
parent4deb606bca47f971f1ca05e44b934c5328cfb6b7 (diff)
parent9e2b7918eb5621b24bd54c922f630da45339de77 (diff)
downloadframeworks_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.cpp8
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp4
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);
}