summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-11-06 16:15:20 -0800
committerRonghua Wu <ronghuawu@google.com>2014-11-18 16:06:16 -0800
commita10fd23bb9fcf16e778c639ea5638e2917dacd89 (patch)
tree6d88124988da832f4bf0e204373c35f3bf380ebe /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
parent35b0f7095fac4f2cc112edd4b0298a9cb1ee394f (diff)
downloadframeworks_av-a10fd23bb9fcf16e778c639ea5638e2917dacd89.zip
frameworks_av-a10fd23bb9fcf16e778c639ea5638e2917dacd89.tar.gz
frameworks_av-a10fd23bb9fcf16e778c639ea5638e2917dacd89.tar.bz2
NuPlayer: open audio sink in offload mode when resuming from timeout teardown.
Also always recheck if a new stream can do offload. Bug: 18154425 Change-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 73bc829..42288a3 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -144,6 +144,10 @@ void NuPlayer::Renderer::signalDisableOffloadAudio() {
(new AMessage(kWhatDisableOffloadAudio, id()))->post();
}
+void NuPlayer::Renderer::signalEnableOffloadAudio() {
+ (new AMessage(kWhatEnableOffloadAudio, id()))->post();
+}
+
void NuPlayer::Renderer::pause() {
(new AMessage(kWhatPause, id()))->post();
}
@@ -407,6 +411,12 @@ void NuPlayer::Renderer::onMessageReceived(const sp<AMessage> &msg) {
break;
}
+ case kWhatEnableOffloadAudio:
+ {
+ onEnableOffloadAudio();
+ break;
+ }
+
case kWhatPause:
{
onPause();
@@ -1133,6 +1143,12 @@ void NuPlayer::Renderer::onDisableOffloadAudio() {
++mAudioQueueGeneration;
}
+void NuPlayer::Renderer::onEnableOffloadAudio() {
+ Mutex::Autolock autoLock(mLock);
+ mFlags |= FLAG_OFFLOAD_AUDIO;
+ ++mAudioQueueGeneration;
+}
+
void NuPlayer::Renderer::onPause() {
if (mPaused) {
ALOGW("Renderer::onPause() called while already paused!");
@@ -1416,6 +1432,9 @@ bool NuPlayer::Renderer::onOpenAudioSink(
if (audioSinkChanged) {
onAudioSinkChanged();
}
+ if (offloadingAudio()) {
+ mAudioOffloadTornDown = false;
+ }
return offloadingAudio();
}