diff options
| -rw-r--r-- | libs/audioflinger/AudioFlinger.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp index 77a126c..3a419b5 100644 --- a/libs/audioflinger/AudioFlinger.cpp +++ b/libs/audioflinger/AudioFlinger.cpp @@ -136,8 +136,17 @@ AudioFlinger::AudioFlinger() AudioFlinger::~AudioFlinger() { - mRecordThreads.clear(); - mPlaybackThreads.clear(); + while (!mRecordThreads.isEmpty()) { + // closeInput() will remove first entry from mRecordThreads + closeInput(mRecordThreads.keyAt(0)); + } + while (!mPlaybackThreads.isEmpty()) { + // closeOutput() will remove first entry from mPlaybackThreads + closeOutput(mPlaybackThreads.keyAt(0)); + } + if (mAudioHardware) { + delete mAudioHardware; + } } |
