From becef43b5ee49c14fad7ef73f390ea17f4cb6700 Mon Sep 17 00:00:00 2001 From: Haynes Mathew George Date: Sun, 11 Oct 2015 15:58:18 -0700 Subject: Nuplayer: Ensure AudioSink is closed before clearing Renderer Close AudioSink object explicitly before clearing NuPlayerRenderer to avoid race conditions between NuPlayerRenderer and AudioSink callback thread. CRs-Fixed: 927545 Change-Id: Id6cef83bc8e4b6f581641b19b0bbd29eee3704bb --- media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 6305a02ca8..4e5549fbe5 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -1168,6 +1168,9 @@ void NuPlayer::onMessageReceived(const sp &msg) { FLUSH_CMD_SHUTDOWN /* audio */, FLUSH_CMD_SHUTDOWN /* video */)); + mDeferredActions.push_back( + new SimpleAction(&NuPlayer::closeAudioSink)); + mDeferredActions.push_back( new SimpleAction(&NuPlayer::performReset)); -- cgit v1.2.3