- 17 Sep, 2011 1 commit
-
-
Max Kellermann authored
Always lock the main loop when operating on PULSE objects. Document this.
-
- 16 Sep, 2011 1 commit
-
-
Max Kellermann authored
-
- 31 Aug, 2011 3 commits
-
-
Max Kellermann authored
Fixes assertion failure when a stream callback is invoked too late after a format change.
-
Max Kellermann authored
Merge common code.
-
Max Kellermann authored
Eliminate duplicate code.
-
- 23 Aug, 2011 4 commits
-
-
Max Kellermann authored
Check if the stream is suspended; wake up the main loop when it becomes suspended.
-
Max Kellermann authored
-
Max Kellermann authored
Not a bool.
-
Max Kellermann authored
Unlock the mainloop in all code paths.
-
- 17 Jan, 2010 1 commit
-
-
Max Kellermann authored
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.
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 02 Dec, 2009 1 commit
-
-
Max Kellermann authored
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.
-
- 12 Nov, 2009 1 commit
-
-
Max Kellermann authored
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.
-
- 29 Oct, 2009 1 commit
-
-
Max Kellermann authored
This variable was uninitialized and led to crashes.
-
- 23 Oct, 2009 3 commits
-
-
Max Kellermann authored
Don't connect to PulseAudio before MPD has daemonized.
-
Max Kellermann authored
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.
-
Max Kellermann authored
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.
-
- 21 Oct, 2009 1 commit
-
-
Max Kellermann authored
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".
-
- 20 Oct, 2009 3 commits
-
-
Max Kellermann authored
This looks nicer in the PulseAudio manager than just "mpd".
-
Max Kellermann authored
-
Max Kellermann authored
This allows PulseAudio to do some advanced tweaks.
-
- 26 Mar, 2009 3 commits
-
-
Max Kellermann authored
Nobody needs to modify these strings. We can make them const, and convert config_dup_block_string() to config_get_block_string(). This also fixes memory leaks in the pulse mixer.
-
Max Kellermann authored
The conf.h functions deal well with config_param==NULL and will return the specified default value then.
-
Max Kellermann authored
The mixer core library is now responsible for creating and managing the mixer object. This removes duplicated code from the output plugins.
-
- 14 Mar, 2009 2 commits
-
-
Max Kellermann authored
This patch allows the output plugins to import only mixer_list.h, instead of the full mixer_api.h (which would expose internal structures).
-
Max Kellermann authored
mixer_control.h should provide the functions needed to manipulate a mixer, without exposing the internal mixer API (which is provided by mixer_api.h).
-
- 13 Mar, 2009 1 commit
-
-
Avuton Olrich authored
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
-
- 07 Mar, 2009 1 commit
-
-
David Guibert authored
This patch introduces the mixer for the pulse output. Technically speaking, the pulse index is needed to get or set the volume. You must define callback fonctions to get this index since the pulse output in mpd is done using the simpe api. The pulse simple api does not provide the index of the newly defined output. So callback fonctions are associated to the pulse context. The list of all the sink input is then retreived. Then we select the name of the mpd pulse output and control its volume by its associated index number. Signed-off-by:
Patrice Linel <patnathanael@gmail.com> Signed-off-by:
David Guibert <david.guibert@gmail.com> [mk: fixed whitespace errors and broke long lines; removed daemonization changes from main.c]
-
- 01 Mar, 2009 1 commit
-
-
Max Kellermann authored
The MPD core logs the audio format of all audio outputs. Remove the duplicate message from the plugins.
-
- 26 Feb, 2009 2 commits
-
-
Max Kellermann authored
Use GLib's GError library for reporting output device failures. Note that some init() methods don't clean up properly after a failure, but that's ok for now, because the MPD core will abort anyway.
-
Max Kellermann authored
The MPD core guarantees that the audio_output object is always consistent, and our pa_simple!=NULL checks are superfluous. Also don't manually close the device on error in pulse_play(), since the MPD core does this automatically when the play() method returns 0.
-
- 25 Feb, 2009 2 commits
-
-
Max Kellermann authored
audio_output_get_name() has been removed, which was the only function left in output_api.h. The output plugin doesn't need the audio_output object at all, remove the parameter from the init() method.
-
Max Kellermann authored
Use config_get_block_string("name") instead of audio_output_get_name().
-
- 23 Feb, 2009 2 commits
-
-
Max Kellermann authored
The meaning of the chunk depends on the audio format; don't suggest a specific format by declaring the pointer as "char*", pass "void*" instead.
-
Max Kellermann authored
The old API required an output plugin to not return until all data passed to the play() method is consumed. Some output plugins have to loop to fulfill that requirement, and may block during that. Simplify these, by letting them consume only part of the buffer: make play() return the length of the consumed data.
-
- 25 Jan, 2009 1 commit
-
-
Max Kellermann authored
All config_get_block_*() functions should accept constant config_param pointers.
-
- 18 Jan, 2009 1 commit
-
-
Max Kellermann authored
This replaces lots of getBlockParam() invocations.
-
- 17 Jan, 2009 1 commit
-
-
Max Kellermann authored
Renamed functions, types, variables.
-
- 01 Jan, 2009 1 commit
-
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
-
- 05 Nov, 2008 1 commit
-
-
Max Kellermann authored
The output thread automatically waits some time before retrying to open the device. Don't duplicate this check in the pulse plugin.
-