Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c80b1a00 authored by Eric Laurent's avatar Eric Laurent
Browse files

Fix issue 2085690: AudioFlinger must properly terminate the input and output...

Fix issue 2085690: AudioFlinger must properly terminate the input and output threads when destroyed.

Call closeInput() for all inputs and closeOutput() for all outputs before deleting audio hardware in AudioFlinger destructor.
parent 392f61b0
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -136,8 +136,17 @@ AudioFlinger::AudioFlinger()


AudioFlinger::~AudioFlinger()
AudioFlinger::~AudioFlinger()
{
{
    mRecordThreads.clear();
    while (!mRecordThreads.isEmpty()) {
    mPlaybackThreads.clear();
        // 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;
    }
}
}