aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Tag: add class const_iterator and methods begin(), end()Max Kellermann2014-07-122-9/+11
| | | | Enables using range-based "for".
* output/plugins/httpd/HttpdClient: fix build failure due to missing stdio.h ↵Gustavo Zacarias2014-07-091-0/+1
| | | | | | include Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
* MultipleOutputs: ensure input_audio_format is zero-initialisedPete Beardmore2014-03-141-0/+1
| | | | | | | | | | | | | | | -fixes SIGABRT when mpd is started from a previously paused state -regression introduced by commit: f5a923b9d16e4c63942a033d1bdb2ab150aae342: 'OutputAll: convert to class, move instance to class Partition' -input_audio_format was previously declared using the static modifier ensuring it was zero-initialised by default -the current default-initialised input_audio_format contains garbage at runtime which allows the AudioFormat.IsDefined() 'fail fast' test in MultipleOutputs::Update to pass and the SIGABRT follows in AudioOutput::Open when passed the invalid input_audio_format struct -switching AudioFormat.IsDefined() for AudioFormat.IsValid() is an alternative workaround
* PulseOutputPlugin: set icon namePete Beardmore2014-03-041-0/+1
|
* Merge tag 'release-0.18.9'Max Kellermann2014-03-021-33/+22
|\
| * output/alsa: remove the obsolete Raspberry Pi workaroundMax Kellermann2014-03-021-36/+0
| | | | | | | | Has been superseded by the previous commit.
| * output/alsa: call snd_pcm_prepare() after snd_pcm_drop()Max Kellermann2014-03-021-0/+25
| | | | | | | | | | | | | | Don't wait for an optimistic write to fail. This is an improved workaround for the infamous Raspberry Pi bug (see commit af991765). It works much better and comes without the negative side effects. The old workaround is now obsolete.
| * output/pulse: remove bogus g_free() callMax Kellermann2014-02-241-2/+0
| |
* | output/sles: support stereoMax Kellermann2014-03-011-5/+7
| |
* | output/httpd/client: eliminate GLibMax Kellermann2014-02-241-13/+11
| |
* | output/{shout,win32}: include cleanupMax Kellermann2014-02-242-3/+0
| |
* | output/openal: use usleep() instead of g_usleep()Max Kellermann2014-02-241-2/+2
| |
* | output/pulse: use setenv() instead of g_setenv()Max Kellermann2014-02-241-3/+2
| | | | | | | | There is no advantage in using g_setenv().
* | output/pulse: remove bogus g_free() callMax Kellermann2014-02-241-2/+0
| |
* | output/sles: new output plugin for AndroidMax Kellermann2014-02-227-0/+817
| |
* | ConfigGlobal: eliminate function config_get_next_param()Max Kellermann2014-02-201-3/+2
| |
* | Mixer: add class MixerListenerMax Kellermann2014-02-194-11/+31
| | | | | | | | Use a listener interface instead of GlobalEvents.
* | output/Init: pass AudioOutput referencesMax Kellermann2014-02-191-29/+29
| |
* | output/httpd: move to dedicated directoryMax Kellermann2014-02-1910-4/+349
| |
* | Timer: move to output/Max Kellermann2014-02-195-3/+117
| |
* | mixer/Plugin: pass AudioOutput reference to init()Max Kellermann2014-02-067-50/+46
| | | | | | | | Passing a void pointer is unsafe.
* | MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann2014-02-061-1/+1
| |
* | Mixer: use reference instead of pointer for MixerPluginMax Kellermann2014-02-051-2/+2
| |
* | Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann2014-02-052-2/+3
| |
* | MixerPlugin: add EventLoop& init() parameterMax Kellermann2014-02-054-14/+17
| |
* | Main, OutputThread: increase kernel timer slack (Linux)Max Kellermann2014-01-301-0/+2
| | | | | | | | | | Allows the kernel to combine timer wakeups with other processes, reducing power usage.
* | OutputThread: move more functions into the AudioOutput classMax Kellermann2014-01-292-240/+271
| |
* | output: rename "chunk" to "current_chunk"Max Kellermann2014-01-294-28/+30
| |
* | output: move functions into the AudioOutput structMax Kellermann2014-01-2923-328/+281
| |
* | AudioOutput: make "plugin" a referenceMax Kellermann2014-01-295-37/+37
| |
* | AudioOutput: pass plugin to constructorMax Kellermann2014-01-2918-45/+68
| | | | | | | | Make it "const".
* | AudioOutput: add constructor and destructorMax Kellermann2014-01-2819-101/+27
| |
* | output: rename source filesMax Kellermann2014-01-2816-19/+19
| |
* | output: rename struct audio_output to AudioOutputMax Kellermann2014-01-2831-267/+268
| |
* | OutputPlugin: rename struct audio_output_plugin to AudioOutputPluginMax Kellermann2014-01-2838-49/+52
| |
* | OutputAll: convert to class, move instance to class PartitionMax Kellermann2014-01-2810-815/+791
| | | | | | | | Another big chunk of code for multi-player support.
* | Mixer*: move to mixer/Max Kellermann2014-01-249-13/+13
| |
* | Filter*: move to filter/Max Kellermann2014-01-244-11/+11
| |
* | Client*: move to client/Max Kellermann2014-01-241-1/+1
| |
* | Config*: move to config/Max Kellermann2014-01-248-11/+11
| |
* | output/*: move to output/plugins/Max Kellermann2014-01-2357-17/+3501
| |
* | Encoder*: move to src/encoderMax Kellermann2014-01-233-6/+6
| | | | | | | | .. and move the plugins to src/encoder/plugins/.
* | copyright year 2014Max Kellermann2014-01-1335-35/+35
| |
* | util/Alloc: new library replacing GLib's g_malloc()Max Kellermann2014-01-071-1/+1
| |
* | event/SocketMonitor: don't close the socket automaticallyMax Kellermann2014-01-061-0/+3
| | | | | | | | | | | | Users now have to call Close() explicitly. This simplifies using the class, as most users have automatic socket management already, and Steal() had to be used often.
* | util/Cast: new utility libraryMax Kellermann2014-01-061-1/+2
| |
* | output/httpd: move the clients.clear() call to the IOThreadMax Kellermann2014-01-051-1/+3
| | | | | | | | This call is not thread-safe.
* | output/httpd: import GetEventLoop()Max Kellermann2014-01-052-3/+5
| |
* | output/httpd: move Bind()/Unbind() to the IOThreadMax Kellermann2014-01-041-4/+8
| | | | | | | | Fixes more thread-safety bugs.
* | output/httpd: move all broadcast operations to the IOThreadMax Kellermann2014-01-042-11/+76
| | | | | | | | | | | | | | Add a Page queue to class HttpdOutput, and use DeferredMonitor to flush this queue inside the IOThread. This fixes a thread-safety issue: much of EventLoop is not thread-safe, and the httpd plugin ignored that problem.