aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | output/pulse: move code into the structMax Kellermann2014-12-303-286/+299
| |
* | output/Wrapper: new helper classMax Kellermann2014-12-296-256/+159
| |
* | output/pulse: move initialization to constructorMax Kellermann2014-12-291-5/+3
| |
* | output/pulse: remove unnecessary initializationMax Kellermann2014-12-291-2/+0
| |
* | {mixer,output}/pulse: move code to LogPulseError()Max Kellermann2014-12-291-6/+4
| |
* | output/pulse: move SetError() to lib/pulse/Error.cxxMax Kellermann2014-12-291-21/+17
| |
* | {mixer,output}/pulse: use a common Domain instanceMax Kellermann2014-12-291-12/+10
| |
* | output/fifo: make variables more localMax Kellermann2014-12-281-2/+1
| |
* | output/pipe: convert to classMax Kellermann2014-12-271-1/+2
| |
* | output/pipe: add static method Create()Max Kellermann2014-12-271-6/+14
| |
* | output/pipe: merge Initialize() and Configure()Max Kellermann2014-12-271-9/+4
| |
* | output/pipe: move functions into the structMax Kellermann2014-12-271-18/+35
| |
* | EncoderPlugin: pass Tag reference to method tag()Max Kellermann2014-12-263-3/+3
| |
* | OutputPlugin: pass Tag reference to _send_tag()Max Kellermann2014-12-268-19/+17
| |
* | output/recorder: implement send_tag()Max Kellermann2014-12-261-1/+22
| |
* | output/recorder: move functions into the structMax Kellermann2014-12-261-25/+40
| |
* | output/jack: fix implicit nullptr/bool conversionMax Kellermann2014-12-261-2/+2
| | | | | | | | Return false on error, not nullptr.
* | Merge branch 'v0.19.x'Max Kellermann2014-12-261-1/+1
|\|
| * Merge branch 'v0.18.x' into v0.19.xMax Kellermann2014-12-261-1/+1
| |\
| | * db/proxy, output/shout: fix implicit nullptr/bool conversionMax Kellermann2014-12-261-1/+1
| | | | | | | | | | | | Return false on error, not nullptr.
| | * output/roar: remove unnecessary "volatile" keywordMax Kellermann2014-11-021-1/+1
| | | | | | | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary.
* | | output/jack: move code to separate functionsMax Kellermann2014-12-251-40/+73
| | |
* | | output/jack: cache AudioFormat::channelsMax Kellermann2014-12-241-4/+6
| | |
* | | output/jack: fix typoMax Kellermann2014-12-241-1/+1
| | |
* | | output/jack: use jack_ringbuffer_get_write_vector()Max Kellermann2014-12-241-10/+20
| | | | | | | | | | | | Reduce number of libjack calls.
* | | output/jack: move jack_ringbuffer_write_space() call to WriteSamples()Max Kellermann2014-12-241-19/+21
| | |
* | | output/jack: cache AudioFormat::channelsMax Kellermann2014-12-241-4/+3
| | |
* | | output/jack: pass float* to WriteSamples()Max Kellermann2014-12-241-5/+3
| | |
* | | output/jack: WriteSamples() returns size_tMax Kellermann2014-12-241-4/+11
| | |
* | | output/jack: pass size_t to WriteSamples()Max Kellermann2014-12-241-3/+3
| | |
* | | output/jack: use SampleFormat::FLOATMax Kellermann2014-12-241-55/+9
| | | | | | | | | | | | | | | | | | What JACK expects is already implemented in MPD, just not used. The sample format conversion code in the JACK plugin was redundant and could reduce sound quality.
* | | output/Internal: move enum AudioOutputCommand into the structMax Kellermann2014-12-244-58/+58
| | |
* | | output/Internal: convert audio_output_command to strictly-typed enumMax Kellermann2014-12-244-47/+49
| | |
* | | output/jack: use std::fill()Max Kellermann2014-12-241-9/+6
| | |
* | | output/jack: move functions into the structMax Kellermann2014-12-241-208/+246
| | |
* | | output/jack: merge two mpd_jack_available() callsMax Kellermann2014-12-241-2/+2
| | |
* | | output/jack: make variables more localMax Kellermann2014-12-241-21/+15
| | |
* | | output/jack: convert const to constexprMax Kellermann2014-12-241-1/+1
| | |
* | | output/jack: convert enum to constexprMax Kellermann2014-12-241-3/+1
| | |
* | | output/winmm: show detailed error messagesMax Kellermann2014-12-171-7/+18
| | |
* | | output/oss: make the static arrays "constexpr"Max Kellermann2014-12-091-3/+3
| | |
* | | Merge tag 'v0.19.6'Max Kellermann2014-12-081-0/+1
|\| |
| * | 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.
* | | util/DivideString: add option "strip"Max Kellermann2014-12-041-1/+1
| | |
* | | util/SplitString: new utility classMax Kellermann2014-12-042-28/+14
| | | | | | | | | | | | Replaces GLib's g_strsplit().
* | | output/jack: use usleep() instead of g_usleep()Max Kellermann2014-12-041-1/+2
| | |
* | | util/SplitString: rename to DivideStringMax Kellermann2014-12-031-2/+2
| | |
* | | output/ao: use class SplitString instead of g_strsplit()Max Kellermann2014-12-021-6/+4
| | |
* | | mixer/null: new mixer pluginMax Kellermann2014-12-021-0/+4
| | |
* | | MixerType: convert to strictly-typed enumMax Kellermann2014-12-021-5/+5
| | |