summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-03-12 18:45:36 -0800
committerSteve Kondik <steve@cyngn.com>2016-03-12 18:45:36 -0800
commit50c27eab97d5b3196a4912893e48fb36cbf0cc6b (patch)
treec4c8592cdedbaae0204c5d3094b943b123738c83 /media/libmediaplayerservice
parent46da121c84a6f343e262b89a7ec4ac7941d58028 (diff)
parentbc7ce29314a914e467bcbf51db0836d80753a7a1 (diff)
downloadframeworks_av-50c27eab97d5b3196a4912893e48fb36cbf0cc6b.zip
frameworks_av-50c27eab97d5b3196a4912893e48fb36cbf0cc6b.tar.gz
frameworks_av-50c27eab97d5b3196a4912893e48fb36cbf0cc6b.tar.bz2
Merge branch 'dr15' into cm-13.0
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index da5bb9a..1e911c2 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -1936,8 +1936,13 @@ void MediaPlayerService::AudioOutput::pause()
void MediaPlayerService::AudioOutput::close()
{
ALOGV("close");
- Mutex::Autolock lock(mLock);
- close_l();
+ sp<AudioTrack> track;
+ {
+ Mutex::Autolock lock(mLock);
+ track = mTrack;
+ close_l(); // clears mTrack
+ }
+ // destruction of the track occurs outside of mutex.
}
void MediaPlayerService::AudioOutput::setVolume(float left, float right)