- 13 Jan, 2014 1 commit
-
-
Max Kellermann authored
-
- 28 Nov, 2013 1 commit
-
-
Max Kellermann authored
-
- 21 Oct, 2013 1 commit
-
-
Max Kellermann authored
Replaces GLib's g_ascii_strncasecmp().
-
- 02 Oct, 2013 1 commit
-
-
Max Kellermann authored
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
-
- 04 Sep, 2013 1 commit
-
-
Max Kellermann authored
Replaces GLib's GError.
-
- 07 Aug, 2013 1 commit
-
-
Max Kellermann authored
-
- 04 Aug, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 30 Jul, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 16 Apr, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 22 Feb, 2013 1 commit
-
-
Max Kellermann authored
-
- 29 Jan, 2013 1 commit
-
-
Max Kellermann authored
-
- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 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.
-
- 10 Nov, 2009 1 commit
-
-
Max Kellermann authored
Add a "mode" argument to open_cloexec() instead.
-
- 07 Nov, 2009 1 commit
-
-
Max Kellermann authored
Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes.
-
- 21 Oct, 2009 1 commit
-
-
Max Kellermann authored
This allows the mixer object to access its associated audio output object.
-
- 20 Oct, 2009 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 27 Mar, 2009 1 commit
-
-
Max Kellermann authored
Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins.
-
- 26 Mar, 2009 7 commits
-
-
Max Kellermann authored
Detect misconfiguration during MPD startup.
-
Max Kellermann authored
The MPD core guarantees that methods are always invoked in a consistent state. This means we can remove lots of checks from the volume methods.
-
Max Kellermann authored
strncasecmp() is locale dependent, but we only need ASCII here.
-
Max Kellermann authored
Instead of replacing NULL with the default path in the open() method, pass the default path to config_get_block_string().
-
Max Kellermann authored
Use config_get_block_string() instead of config_dup_block_string().
-
Max Kellermann authored
When getting or setting the volume fails, the MPD core close the mixer. Moved the duplicated code from the mixer plugins.
-
Max Kellermann authored
Remember if a mixer object is open or closed. Don't call open() again if it is already open. This guarantees that the mixer plugin is always called in a consistent state, and we will be able to remove lots of checks from the implementations. To support mixers which are automatically opened even if the audio output is still closed (to set the volume before playback starts), this patch also adds the "global" flag to the mixer_plugin struct. Both ALSA and OSS set this flag, while PULSE does not.
-
- 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.
-
- 16 Feb, 2009 1 commit
-
-
Max Kellermann authored
The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
-
- 25 Jan, 2009 7 commits
-
-
Max Kellermann authored
The mixer plugins should re-use the mixer struct and incorporate it in their object class.
-
Max Kellermann authored
Both methods are always called together. There is no point in having them separate. This simplifies the code, because the old configure() method could be called more than once, and had to free old allocations.
-
Max Kellermann authored
Those have been superseded by the new legacy configuration code.
-
Max Kellermann authored
The plugin structures must never be modified.
-
Max Kellermann authored
-
Max Kellermann authored
Return the default value in the conf_get_block_*() functions when param==NULL was passed. This simplifies a lot of code, because all initialization can be done in one code path, regardless whether configuration is present.
-
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.
-