Merge "URIFD way causes leak in PlaybackActivityMonitor"
diff --git a/src/android/AudioPlayer_to_android.cpp b/src/android/AudioPlayer_to_android.cpp
index 23411b0..de27cae 100644
--- a/src/android/AudioPlayer_to_android.cpp
+++ b/src/android/AudioPlayer_to_android.cpp
@@ -1962,10 +1962,14 @@
     SL_LOGV("android_audioPlayer_destroy(%p)", pAudioPlayer);
     switch (pAudioPlayer->mAndroidObjType) {
 
-    case AUDIOPLAYER_FROM_PCM_BUFFERQUEUE: // intended fall-throughk, both types of players
-                                           //   use the TrackPlayerBase for playback
-        FALLTHROUGH_INTENDED;
     case AUDIOPLAYER_FROM_URIFD:
+        if (pAudioPlayer->mObject.mEngine->mAudioManager != 0) {
+            pAudioPlayer->mObject.mEngine->mAudioManager->releasePlayer(pAudioPlayer->mPIId);
+        }
+        // intended fall-throughk, both types of players
+        // use the TrackPlayerBase for playback
+        FALLTHROUGH_INTENDED;
+    case AUDIOPLAYER_FROM_PCM_BUFFERQUEUE:
         if (pAudioPlayer->mTrackPlayer != 0) {
             pAudioPlayer->mTrackPlayer->destroy();
         }