Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-10-25 | Set pulseaudio channel map to WAVE-EX | Steven Newbury | 1 | -1/+5 | |
Pulseaudio expects clients to specify their channel-map if the default (ALSA) map does not route the audio to the expected speakers. Many Google results suggest dealing with this by re-routing the audio channels with the appropriate ALSA plugin, but this will then simply break any clients which expect the default ALSA mapping. Virtually all media files and codecs, certainly flac, dca, a52, and of course anything based on Microsoft's WAVEFORMAT_EXTENSIBLE specification, assume the layout in the table here: http://en.wikipedia.org/wiki/Surround_sound#Standard_speaker_channels Fortunately, pulseaudio directly addresses this with a built-in channel map for WAVE-EX which can be set automatically in the stream sample-spec. | |||||
2014-09-05 | output/pulse: simplify _wait_for_operation() | Max Kellermann | 1 | -6/+3 | |
Eliminate the duplicate pa_operation_get_state() call. | |||||
2014-03-04 | PulseOutputPlugin: set icon name | Pete Beardmore | 1 | -0/+1 | |
2014-02-24 | output/pulse: use setenv() instead of g_setenv() | Max Kellermann | 1 | -3/+2 | |
There is no advantage in using g_setenv(). | |||||
2014-02-24 | output/pulse: remove bogus g_free() call | Max Kellermann | 1 | -2/+0 | |
2014-02-06 | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 1 | -34/+30 | |
Passing a void pointer is unsafe. | |||||
2014-01-29 | output: move functions into the AudioOutput struct | Max Kellermann | 1 | -1/+1 | |
2014-01-29 | AudioOutput: pass plugin to constructor | Max Kellermann | 1 | -1/+4 | |
Make it "const". | |||||
2014-01-28 | AudioOutput: add constructor and destructor | Max Kellermann | 1 | -1/+0 | |
2014-01-28 | output: rename struct audio_output to AudioOutput | Max Kellermann | 1 | -11/+11 | |
2014-01-28 | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | Mixer*: move to mixer/ | Max Kellermann | 1 | -2/+2 | |
2014-01-23 | output/*: move to output/plugins/ | Max Kellermann | 1 | -1/+1 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -6/+9 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -87/+65 | |
Replaces GLib's GError. | |||||
2013-09-04 | output/pulse: require libpulse 0.9.16 | Max Kellermann | 1 | -51/+3 | |
Remove all #ifdefs. Old versions of libpulse are not being tested, and thus I'm removing support. | |||||
2013-08-04 | *: use gcc.h macros instead of GLib | Max Kellermann | 1 | -4/+4 | |
2013-08-04 | OutputPlugin: pass config_param reference | Max Kellermann | 1 | -6/+6 | |
2013-08-03 | audio_format: convert to C++ | Max Kellermann | 1 | -4/+4 | |
2013-07-30 | output_api: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-04-16 | mixer/Pulse: convert to a class | Max Kellermann | 1 | -4/+3 | |
2013-04-16 | output/Pulse: convert to C++ | Max Kellermann | 1 | -147/+149 | |
2013-02-22 | mixer_plugin: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-09 | mixer/{alsa,pulse}: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2012-08-14 | output/pulse: implement method delay() | Max Kellermann | 1 | -7/+21 | |
Reduce command latency while paused. | |||||
2012-08-14 | output/pulse: simplify _wait_stream() | Max Kellermann | 1 | -55/+16 | |
One large loop and only one pa_stream_get_state() call. | |||||
2011-09-19 | output_plugin: the plugin allocates the audio_output object | Max Kellermann | 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. | |||||
2011-09-17 | output/pulse: don't expose internal struct in public header | Max Kellermann | 1 | -0/+43 | |
Provide _lock() and _unlock() to wrap all accesses from the mixer plugin. | |||||
2011-09-17 | output/pulse: move code to _setup_stream() | Max Kellermann | 1 | -15/+36 | |
2011-09-17 | output/pulse: improve locking | Max Kellermann | 1 | -11/+11 | |
Always lock the main loop when operating on PULSE objects. Document this. | |||||
2011-09-16 | input/curl, output/pulse: fix "unused local variable" warnings | Max Kellermann | 1 | -1/+2 | |
2011-08-31 | output/pulse: reset callbacks before closing stream/context | Max Kellermann | 1 | -0/+10 | |
Fixes assertion failure when a stream callback is invoked too late after a format change. | |||||
2011-08-31 | output/pulse: add function _delete_stream() | Max Kellermann | 1 | -5/+16 | |
Merge common code. | |||||
2011-08-31 | output/pulse: use _delete_context() | Max Kellermann | 1 | -16/+15 | |
Eliminate duplicate code. | |||||
2011-08-23 | output/pulse: fix deadlock when the stream was suspended | Max Kellermann | 1 | -0/+31 | |
Check if the stream is suspended; wake up the main loop when it becomes suspended. | |||||
2011-08-23 | output/pulse: add assertions | Max Kellermann | 1 | -0/+30 | |
2011-08-23 | output/pulse: return 0 on error | Max Kellermann | 1 | -1/+1 | |
Not a bool. | |||||
2011-08-23 | pulse/output: fix deadlock when resuming the stream | Max Kellermann | 1 | -1/+3 | |
Unlock the mainloop in all code paths. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-01-17 | output/pulse: clear the "mainloop" attribute on error | Max Kellermann | 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. | |||||
2009-12-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-02 | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 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. | |||||
2009-11-12 | include config.h in all sources | Max Kellermann | 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. | |||||
2009-10-29 | output/pulse: initialize pulse_output.mixer | Max Kellermann | 1 | -0/+1 | |
This variable was uninitialized and led to crashes. | |||||
2009-10-23 | output/pulse: implement methods enable()/disable() | Max Kellermann | 1 | -9/+35 | |
Don't connect to PulseAudio before MPD has daemonized. | |||||
2009-10-23 | output_plugin: added methods enable() and disable() | Max Kellermann | 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. | |||||
2009-10-23 | output/pulse: call mixer on state changes | Max Kellermann | 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. | |||||
2009-10-21 | pulse: code rewrite using the asynchronous libpulse API | Max Kellermann | 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". | |||||
2009-10-20 | output/pulse: renamed context to "Music Player Daemon" | Max Kellermann | 1 | -1/+1 | |
This looks nicer in the PulseAudio manager than just "mpd". |