Destroy output tracks when existing.

Bug: 364404031
Test: manually
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c62d60305b1b674960a2628e01d1f3d3f509d405)
Merged-In: I4e83ee6d7cca38c62448ccb3019a7d2275cc664e
Change-Id: I4e83ee6d7cca38c62448ccb3019a7d2275cc664e
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index b82a9af..1cb9ea4 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -7760,6 +7760,9 @@
         audio_utils::lock_guard l(mutex());
         localTracks = std::move(mOutputTracks);
         mOutputTracks.clear();
+        for (size_t i = 0; i < localTracks.size(); ++i) {
+            localTracks[i]->destroy();
+        }
     }
     localTracks.clear();
     outputTracks.clear();