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();
}