diff options
author | Robert Shih <robertshih@google.com> | 2015-07-23 17:54:13 -0700 |
---|---|---|
committer | Robert Shih <robertshih@google.com> | 2015-07-24 09:45:29 -0700 |
commit | e1d701902765c710398133025cfeee3ea8b6d280 (patch) | |
tree | 9c603e6de41377f9af9196296f0c9d0a454522aa /media/libmediaplayerservice | |
parent | 70c1f74f3d4c43b67949f3e742195d60f4677462 (diff) | |
download | frameworks_av-e1d701902765c710398133025cfeee3ea8b6d280.zip frameworks_av-e1d701902765c710398133025cfeee3ea8b6d280.tar.gz frameworks_av-e1d701902765c710398133025cfeee3ea8b6d280.tar.bz2 |
NuPlayerRenderer: prepareForMediaRenderingStart_l on en/disable offload audio
Bug: 22662910
Change-Id: I8fb4a9fce801295a4b251e27965aef048d217da6
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 6 | ||||
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 8e3e460..bfdb1ad 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -1474,8 +1474,10 @@ void NuPlayer::determineAudioModeChange() { sp<AMessage> format = mSource->getFormat(true /*audio*/); tryOpenAudioSinkForOffload(format, hasVideo); } else { - mRenderer->signalDisableOffloadAudio(); - mOffloadAudio = false; + if (mOffloadAudio) { + mRenderer->signalDisableOffloadAudio(); + mOffloadAudio = false; + } } } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 767417b..e9f3799 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1422,12 +1422,18 @@ void NuPlayer::Renderer::onDisableOffloadAudio() { Mutex::Autolock autoLock(mLock); mFlags &= ~FLAG_OFFLOAD_AUDIO; ++mAudioDrainGeneration; + if (mAudioRenderingStartGeneration != -1) { + prepareForMediaRenderingStart_l(); + } } void NuPlayer::Renderer::onEnableOffloadAudio() { Mutex::Autolock autoLock(mLock); mFlags |= FLAG_OFFLOAD_AUDIO; ++mAudioDrainGeneration; + if (mAudioRenderingStartGeneration != -1) { + prepareForMediaRenderingStart_l(); + } } void NuPlayer::Renderer::onPause() { |