- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 08 Dec, 2009 1 commit
-
-
Max Kellermann authored
Mixers with the "global" flag set aren't closed automatically when the output device is closed. Thus, they might still be open when MPD shuts down.
-
- 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.
-
- 23 Oct, 2009 3 commits
-
-
Max Kellermann authored
A mixer is useful enough if it can be read. Setting it may be found unavailable at runtime.
-
Max Kellermann authored
If the method get_volume() returns -1 and no error object is set, then the volume is currently unavailable, but the mixer should not be closed immediately.
-
Max Kellermann authored
It's possible to have a mixer implementation which does not explicitly need the methods open() and close().
-
- 21 Oct, 2009 1 commit
-
-
Max Kellermann authored
This allows the mixer object to access its associated audio output object.
-
- 20 Oct, 2009 1 commit
-
-
Max Kellermann authored
-
- 06 Jul, 2009 1 commit
-
-
Max Kellermann authored
Do all the software volume stuff inside each output thread, not in the player thread. This allows one software mixer per output device, and also allows the user to configure the mixer type (hardware or software) for each audio output. This moves the global "mixer_type" setting into the "audio_output" section, deprecating the "mixer_enabled" flag.
-
- 27 Mar, 2009 2 commits
-
-
Max Kellermann authored
Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins.
-
Max Kellermann authored
The function mixer_failed() expects the mixer mutex to be already locked, yet it calls mixer_close(), which attempts to lock the mutex again, deadlocking itself.
-
- 26 Mar, 2009 4 commits
-
-
Max Kellermann authored
If a (global) mixer has been closed due to failure, don't reopen it with every volume get/set. Leave it closed until it is explicitly opened.
-
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.
-
Max Kellermann authored
As a side effect, the previous patch added the mixer==NULL checks. It is now illegal to call mixer functions with a NULL argument. Convert the runtime checks to assertions.
-
- 14 Mar, 2009 3 commits
-
-
Max Kellermann authored
In some rare cases, there was a race condition between the output thread and the main thread: when you disable/enable an output device in the main thread, this caused a crash in the output thread. Protect the whole mixer struct with a GMutex to prevent that.
-
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).
-
Max Kellermann authored
-
- 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.
-
- 12 Mar, 2009 3 commits
-
-
Max Kellermann authored
When an audio output device is disabled, also disable its mixer.
-
Max Kellermann authored
No caller must ever pass an invalid device number to mixer_control_setvol() or mixer_control_getvol().
-
Max Kellermann authored
-
- 16 Feb, 2009 4 commits
-
-
Max Kellermann authored
Don't include conf.h in mixer_api.h. Use a forward struct declaration instead.
-
Max Kellermann authored
Don't include output_api.h in output_internal.h. This change requires adding missing includes in several sources.
-
Max Kellermann authored
The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
-
Max Kellermann authored
The output plugin shouldn't know any specifics of the mixer API. Make it return the mixer object, and let the caller deal with it.
-
- 11 Feb, 2009 2 commits
-
-
Max Kellermann authored
The output_command library provides a command interface to the audio outputs. It assumes the input comes from an untrusted source (i.e. the client) and verifies all parameters.
-
Max Kellermann authored
Added audio_format_parse() in a separate library, with a modern interface: return a GError instead of logging errors. This allows the caller to deal with the error.
-
- 10 Feb, 2009 6 commits
-
-
Max Kellermann authored
Moved code which deals with all audio outputs at once into a separate library.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
This function isn't used anymore.
-
Max Kellermann authored
Added audio_output_get(), audio_output_find().
-
Max Kellermann authored
audio_output_config_count() returns the number of audio outputs in the configuration file. It is only used by initAudioDriver(). The public function audio_output_count() now returns audioOutputArraySize.
-
- 25 Jan, 2009 3 commits
-
-
Max Kellermann authored
On some platforms, g_free() must be used for memory allocated by GLib. This patch intends to correct a lot of occurrences, but is probably not complete.
-
Max Kellermann authored
Those have been superseded by the new legacy configuration code.
-
Max Kellermann authored
All config_get_block_*() functions should accept constant config_param pointers.
-
- 17 Jan, 2009 1 commit
-
-
Max Kellermann authored
Renamed functions, types, variables.
-
- 04 Jan, 2009 1 commit
-
-
Viliam Mateicka authored
-