Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mixer_plugin: convert to C++ | Max Kellermann | 2013-02-22 | 1 | -1/+1 |
| | |||||
* | mixer/{alsa,pulse}: convert to C++ | Max Kellermann | 2013-01-09 | 1 | -1/+1 |
| | |||||
* | output/pulse: implement method delay() | Max Kellermann | 2012-08-14 | 1 | -7/+21 |
| | | | | Reduce command latency while paused. | ||||
* | output/pulse: simplify _wait_stream() | Max Kellermann | 2012-08-14 | 1 | -55/+16 |
| | | | | One large loop and only one pa_stream_get_state() call. | ||||
* | output_plugin: the plugin allocates the audio_output object | Max Kellermann | 2011-09-19 | 1 | -23/+30 |
| | | | | | | Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs. | ||||
* | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-17 | 1 | -11/+11 |
|\ | |||||
| * | output/pulse: improve locking | Max Kellermann | 2011-09-17 | 1 | -11/+11 |
| | | | | | | | | | | Always lock the main loop when operating on PULSE objects. Document this. | ||||
* | | output/pulse: don't expose internal struct in public header | Max Kellermann | 2011-09-17 | 1 | -0/+43 |
| | | | | | | | | | | Provide _lock() and _unlock() to wrap all accesses from the mixer plugin. | ||||
* | | output/pulse: move code to _setup_stream() | Max Kellermann | 2011-09-17 | 1 | -15/+36 |
| | | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-16 | 1 | -1/+2 |
|\| | |||||
| * | input/curl, output/pulse: fix "unused local variable" warnings | Max Kellermann | 2011-09-16 | 1 | -1/+2 |
| | | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-01 | 1 | -21/+41 |
|\| | | | | | | | | | | | Conflicts: configure.ac src/output_control.c | ||||
| * | output/pulse: reset callbacks before closing stream/context | Max Kellermann | 2011-08-31 | 1 | -0/+10 |
| | | | | | | | | | | Fixes assertion failure when a stream callback is invoked too late after a format change. | ||||
| * | output/pulse: add function _delete_stream() | Max Kellermann | 2011-08-31 | 1 | -5/+16 |
| | | | | | | | | Merge common code. | ||||
| * | output/pulse: use _delete_context() | Max Kellermann | 2011-08-31 | 1 | -16/+15 |
| | | | | | | | | Eliminate duplicate code. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-08-24 | 1 | -2/+65 |
|\| | |||||
| * | output/pulse: fix deadlock when the stream was suspended | Max Kellermann | 2011-08-23 | 1 | -0/+31 |
| | | | | | | | | | | Check if the stream is suspended; wake up the main loop when it becomes suspended. | ||||
| * | output/pulse: add assertions | Max Kellermann | 2011-08-23 | 1 | -0/+30 |
| | | |||||
| * | output/pulse: return 0 on error | Max Kellermann | 2011-08-23 | 1 | -1/+1 |
| | | | | | | | | Not a bool. | ||||
| * | pulse/output: fix deadlock when resuming the stream | Max Kellermann | 2011-08-23 | 1 | -1/+3 |
| | | | | | | | | Unlock the mainloop in all code paths. | ||||
* | | copyright year 2011 | Max Kellermann | 2011-01-29 | 1 | -1/+1 |
|/ | |||||
* | output/pulse: clear the "mainloop" attribute on error | Max Kellermann | 2010-01-17 | 1 | -2/+3 |
| | | | | | | | | When enabling the pulse device fails, clear po->mainloop after pa_threaded_mainloop_free() has finished. This is important for the assertions. Two wrong g_free() calls were also removed. | ||||
* | Update copyright notices. | Avuton Olrich | 2009-12-31 | 1 | -1/+1 |
| | |||||
* | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 2009-12-02 | 1 | -1/+1 |
| | | | | | | This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value. | ||||
* | include config.h in all sources | Max Kellermann | 2009-11-12 | 1 | -0/+1 |
| | | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue. | ||||
* | output/pulse: initialize pulse_output.mixer | Max Kellermann | 2009-10-29 | 1 | -0/+1 |
| | | | | This variable was uninitialized and led to crashes. | ||||
* | output/pulse: implement methods enable()/disable() | Max Kellermann | 2009-10-23 | 1 | -9/+35 |
| | | | | Don't connect to PulseAudio before MPD has daemonized. | ||||
* | output_plugin: added methods enable() and disable() | Max Kellermann | 2009-10-23 | 1 | -0/+2 |
| | | | | | | | With these methods, an output plugin can allocate some global resources only if it is actually enabled. The method enable() is called after daemonization, which allows for more sophisticated resource allocation during that method. | ||||
* | output/pulse: call mixer on state changes | Max Kellermann | 2009-10-23 | 1 | -1/+104 |
| | | | | | | Don't let the mixer plugin "override" the libpulse callbacks. Instead, add a "mixer" attribute to the pulse_output struct, and call the mixer on all interesting events. | ||||
* | pulse: code rewrite using the asynchronous libpulse API | Max Kellermann | 2009-10-21 | 1 | -73/+581 |
| | | | | | | | | This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork". | ||||
* | output/pulse: renamed context to "Music Player Daemon" | Max Kellermann | 2009-10-20 | 1 | -1/+1 |
| | | | | This looks nicer in the PulseAudio manager than just "mpd". | ||||
* | pulse: renamed source files | Max Kellermann | 2009-10-20 | 1 | -0/+183 |