Merge "AudioFlinger: Ensure RecordTrack dtor called outside lock (pt 2)" into main am: 442ee22576

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/3133965

Change-Id: Id44ea2650be968e9dda59e7666cc63aa2e5ae8b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 8dd6bfc..5c0ca5e 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -8671,6 +8671,9 @@
 
         // loop over each active track
         for (size_t i = 0; i < size; i++) {
+            if (activeTrack) {  // ensure track release is outside lock.
+                oldActiveTracks.emplace_back(std::move(activeTrack));
+            }
             activeTrack = activeTracks[i];
 
             // skip fast tracks, as those are handled directly by FastCapture