Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-12-24 | output/Internal: move enum AudioOutputCommand into the struct | Max Kellermann | 1 | -1/+1 | |
2014-12-24 | output/Internal: convert audio_output_command to strictly-typed enum | Max Kellermann | 1 | -1/+1 | |
2014-12-02 | mixer/null: new mixer plugin | Max Kellermann | 1 | -0/+4 | |
2014-12-02 | MixerType: convert to strictly-typed enum | Max Kellermann | 1 | -5/+5 | |
2014-12-02 | MixerType: rename to CamelCase | Max Kellermann | 1 | -1/+1 | |
2014-12-01 | Output: start with a null mixer. | Nix | 1 | -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. | |||||
2014-02-19 | Mixer: add class MixerListener | Max Kellermann | 1 | -3/+11 | |
Use a listener interface instead of GlobalEvents. | |||||
2014-02-19 | output/Init: pass AudioOutput references | Max Kellermann | 1 | -29/+29 | |
2014-02-06 | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 1 | -2/+2 | |
Passing a void pointer is unsafe. | |||||
2014-02-05 | Mixer: use reference instead of pointer for MixerPlugin | Max Kellermann | 1 | -2/+2 | |
2014-02-05 | Mixer: rename struct mixer_plugin to MixerPlugin | Max Kellermann | 1 | -1/+1 | |
2014-02-05 | MixerPlugin: add EventLoop& init() parameter | Max Kellermann | 1 | -7/+8 | |
2014-01-29 | output: move functions into the AudioOutput struct | Max Kellermann | 1 | -18/+15 | |
2014-01-29 | AudioOutput: make "plugin" a reference | Max Kellermann | 1 | -6/+6 | |
2014-01-29 | AudioOutput: pass plugin to constructor | Max Kellermann | 1 | -9/+7 | |
Make it "const". | |||||
2014-01-28 | AudioOutput: add constructor and destructor | Max Kellermann | 1 | -12/+14 | |
2014-01-28 | output: rename source files | Max Kellermann | 1 | -3/+3 | |
2014-01-28 | output: rename struct audio_output to AudioOutput | Max Kellermann | 1 | -6/+6 | |
2014-01-28 | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 1 | -4/+4 | |
2014-01-24 | Mixer*: move to mixer/ | Max Kellermann | 1 | -4/+4 | |
2014-01-24 | Filter*: move to filter/ | Max Kellermann | 1 | -6/+6 | |
2014-01-24 | Config*: move to config/ | Max Kellermann | 1 | -2/+2 | |
2014-01-23 | output/*: move to output/plugins/ | Max Kellermann | 1 | -0/+0 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-11-28 | include cleanup using iwyu | Max Kellermann | 1 | -1/+0 | |
2013-11-25 | Volume, Output: use new class PeriodClock instead of GTimer | Max Kellermann | 1 | -1/+0 | |
2013-11-06 | OutputControl: reduce the number of OutputThread wakeups | Max Kellermann | 1 | -0/+2 | |
Wake up the OutputThread only if it hasn't already been woken up and if it isn't already in the playback loop. | |||||
2013-11-04 | Log: add level "DEFAULT" | Max Kellermann | 1 | -7/+7 | |
Map LogLevel::INFO to G_LOG_LEVEL_INFO, and LogLevel::DEFAULT to G_LOG_LEVEL_MESSAGE. Now client connect/disconnect message are only logged on log_level "secure". | |||||
2013-10-28 | player_control: rename to PlayerControl | Max Kellermann | 1 | -1/+1 | |
2013-10-19 | *: use references instead of pointers | Max Kellermann | 1 | -2/+2 | |
2013-10-19 | *: use nullptr instead of NULL | Max Kellermann | 1 | -35/+35 | |
2013-10-17 | Thread/Thread: replacement library for GThread | Max Kellermann | 1 | -1/+0 | |
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -16/+18 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-05 | conf.h: remove obsolete header | Max Kellermann | 1 | -0/+1 | |
Use only ConfigData.hxx in plugin sources to reduce header dependencies. | |||||
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -39/+35 | |
Replaces GLib's GError. | |||||
2013-08-04 | MixerPlugin: pass config_param reference | Max Kellermann | 1 | -2/+4 | |
2013-08-04 | FilterPlugin: pass config_param reference | Max Kellermann | 1 | -4/+6 | |
2013-08-04 | OutputPlugin: pass config_param reference | Max Kellermann | 1 | -25/+21 | |
2013-08-03 | audio_format: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2013-08-03 | gcc.h: add macro gcc_unreachable() | Max Kellermann | 1 | -1/+1 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -0/+1 | |
2013-07-30 | output_api: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-30 | pcm_buffer: convert to C++ | Max Kellermann | 1 | -2/+0 | |
2013-04-17 | OutputInternal: use Mutex instead of GMutex | Max Kellermann | 1 | -2/+0 | |
2013-04-17 | output: convert to C++ | Max Kellermann | 1 | -5/+1 | |
2013-04-16 | MixerInternal: convert to class | Max Kellermann | 1 | -2/+2 | |
2013-02-22 | mixer_plugin: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2013-02-02 | FilterInternal: convert struct filter to a OO interface | Max Kellermann | 1 | -7/+7 | |
2013-02-01 | filter: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2013-01-31 | mixer/software, filter/volume: convert to C++ | Max Kellermann | 1 | -1/+1 | |