summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-11-28 16:27:35 -0800
committerAndreas Huber <andih@google.com>2011-11-28 16:27:35 -0800
commitb58ce9f5e8d0696f9571a94ba5fc05f4500f663f (patch)
tree4c30ef7b134b02bd84cb0d7dc7407c27f5c945a3 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
parent7cafbb32999049873d4746ba83bd20c88abe6ce6 (diff)
downloadframeworks_av-b58ce9f5e8d0696f9571a94ba5fc05f4500f663f.zip
frameworks_av-b58ce9f5e8d0696f9571a94ba5fc05f4500f663f.tar.gz
frameworks_av-b58ce9f5e8d0696f9571a94ba5fc05f4500f663f.tar.bz2
Make sure we can properly shutdown even if
a) one of the two decoders has a pending discontinuity b) the renderer holds on to all output buffers for that decoder c) the renderer is paused if all three conditions are met the decoder won't ask for more input data and therefore never see the discontinuity. To avoid this we briefly resume the renderer just before shutting down. Change-Id: I9e08af2a1eb4298d1cd00497d6aa33f4ad184e9a related-to-bug: 5655016
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 640e9fa..0cb7f45 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -628,11 +628,16 @@ void NuPlayer::Renderer::onPause() {
mAudioSink->pause();
}
+ LOGV("now paused audio queue has %d entries, video has %d entries",
+ mAudioQueue.size(), mVideoQueue.size());
+
mPaused = true;
}
void NuPlayer::Renderer::onResume() {
- CHECK(mPaused);
+ if (!mPaused) {
+ return;
+ }
if (mHasAudio) {
mAudioSink->start();