aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* output/pulse: move more code into the structMax Kellermann2015-01-041-75/+148
|
* output/pulse: use AudioOutputWrapper::Init()Max Kellermann2015-01-041-9/+7
|
* output/openal: convert macro to constexprMax Kellermann2015-01-031-3/+3
|
* output/openal: convert struct to classMax Kellermann2015-01-031-1/+1
|
* output/openal: move functions into the classMax Kellermann2015-01-021-121/+116
|
* Copyright year 2015Max Kellermann2015-01-0165-65/+65
|
* output/osx: use nullptr instead of NULLMax Kellermann2014-12-311-8/+8
|
* 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.