aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/Init.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Output: start with a null mixer.Nix2014-12-011-0/+1
| | | | | | | | | | | 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.
* Mixer: add class MixerListenerMax Kellermann2014-02-191-3/+11
| | | | Use a listener interface instead of GlobalEvents.
* output/Init: pass AudioOutput referencesMax Kellermann2014-02-191-29/+29
|
* mixer/Plugin: pass AudioOutput reference to init()Max Kellermann2014-02-061-2/+2
| | | | Passing a void pointer is unsafe.
* Mixer: use reference instead of pointer for MixerPluginMax Kellermann2014-02-051-2/+2
|
* Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann2014-02-051-1/+1
|
* MixerPlugin: add EventLoop& init() parameterMax Kellermann2014-02-051-7/+8
|
* output: move functions into the AudioOutput structMax Kellermann2014-01-291-18/+15
|
* AudioOutput: make "plugin" a referenceMax Kellermann2014-01-291-6/+6
|
* AudioOutput: pass plugin to constructorMax Kellermann2014-01-291-9/+7
| | | | Make it "const".
* AudioOutput: add constructor and destructorMax Kellermann2014-01-281-12/+14
|
* output: rename source filesMax Kellermann2014-01-281-0/+329