diff options
author | Preetam Singh Ranawat <apranawat@codeaurora.org> | 2015-07-27 12:35:14 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:41 -0600 |
commit | 309e01517353743be4871101fc2f4acae48ae1de (patch) | |
tree | bcc3839d9e7146c17f2f5b966f9f83905bb2e2e8 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | |
parent | 45dccc785efbcc470bd4a48a1e16879ff798c5c7 (diff) | |
download | frameworks_av-309e01517353743be4871101fc2f4acae48ae1de.zip frameworks_av-309e01517353743be4871101fc2f4acae48ae1de.tar.gz frameworks_av-309e01517353743be4871101fc2f4acae48ae1de.tar.bz2 |
NuPlayer: Fix for audio mute after call termination
- Audio is muted while resuming music after call termination
- Offload track is tear down by audio flinger/policy manager
during call & TEAR_DOWN event is propgated to audio track.
Audio track returned error on resume of playback since track
is already closed
- Add error handling in nuplayer during resume & force recreation
of audio track from NuPlayerRenderer if resume fails
CRs-fixed: 759500
Change-Id: Ic84e692511b085e75a96ae711e5b1585fce47758
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 48443cb..ca7c1f4 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1477,9 +1477,11 @@ void NuPlayer::Renderer::onResume() { } if (mHasAudio) { + status_t status = NO_ERROR; cancelAudioOffloadPauseTimeout(); - status_t err = mAudioSink->start(); - if (err != OK) { + status = mAudioSink->start(); + if (offloadingAudio() && status != NO_ERROR && status != INVALID_OPERATION) { + ALOGD("received error :%d on resume for offload track posting TEAR_DOWN event",status); notifyAudioTearDown(); } } |