diff options
author | Ronghua Wu <ronghuawu@google.com> | 2014-11-06 16:15:20 -0800 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2014-11-18 16:06:16 -0800 |
commit | a10fd23bb9fcf16e778c639ea5638e2917dacd89 (patch) | |
tree | 6d88124988da832f4bf0e204373c35f3bf380ebe /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | |
parent | 35b0f7095fac4f2cc112edd4b0298a9cb1ee394f (diff) | |
download | frameworks_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.cpp | 19 |
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(); } |