Output: start with a null mixer.
There are code paths (mostly error cases) in which it is possible to initialize an AudioOutput and then kill it without ever calling audio_output_new(). In such a case, its destructor will attempt to free a mixer that was never initialized, leading to an attempt to take out a lock on a mutex that was similarly never initialized, which hangs forever. Fix by always initializing the mixer appropriately.
This commit is contained in:
parent
8780e23ed3
commit
811af02f56
@ -48,6 +48,7 @@
|
|||||||
|
|
||||||
AudioOutput::AudioOutput(const AudioOutputPlugin &_plugin)
|
AudioOutput::AudioOutput(const AudioOutputPlugin &_plugin)
|
||||||
:plugin(_plugin),
|
:plugin(_plugin),
|
||||||
|
mixer(nullptr),
|
||||||
enabled(true), really_enabled(false),
|
enabled(true), really_enabled(false),
|
||||||
open(false),
|
open(false),
|
||||||
pause(false),
|
pause(false),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user