OSDN Git Service

Stop the AudioSource in reset() of AwesomePlayer if AudioSource is not NULL
authorGloria Wang <gwang@google.com>
Wed, 31 Aug 2011 17:24:18 +0000 (10:24 -0700)
committerGloria Wang <gwang@google.com>
Wed, 31 Aug 2011 17:24:18 +0000 (10:24 -0700)
and AudioPlayer was not started.
Fix for 5236419.

Change-Id: I5eadd069118c3533a19b5d6f6dca2ce16d8505fb

media/libstagefright/AwesomePlayer.cpp

index 142dda0..f98b0de 100644 (file)
@@ -513,7 +513,8 @@ void AwesomePlayer::reset_l() {
     // If we did this later, audio would continue playing while we
     // shutdown the video-related resources and the player appear to
     // not be as responsive to a reset request.
-    if (mAudioPlayer == NULL && mAudioSource != NULL) {
+    if ((mAudioPlayer == NULL || !(mFlags & AUDIOPLAYER_STARTED))
+            && mAudioSource != NULL) {
         // If we had an audio player, it would have effectively
         // taken possession of the audio source and stopped it when
         // _it_ is stopped. Otherwise this is still our responsibility.