| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Migrate the remaining callers to FatalError().
|
|
Use only ConfigData.hxx in plugin sources to reduce header
dependencies.
|
|
Replaces GLib's GError.
|
|
|
|
|
|
Look up top-level config options by enum (= integer), not by name
string.
|
|
|
|
|
|
|
|
|
|
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header
file 'mpd_error.h'. This macro uses g_critical() to print the error message
and then exits gracefully in contrast to g_error() which would internally call
abort() to produce a core dump.
The macro name is distinctive and allows to find all places with dubious error
handling. The long-term goal is to get rid of MPD_ERROR() altogether. To
facilitate the eventual removal of this macro it was added in a new header
file rather than to an existing header file.
This fixes #2995 and #3007.
|
|
|
|
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.
|
|
There's no point in clearing the audio format before exiting.
|
|
An asterisk means that this attribute should not be enforced, and
stays whatever it used to be. This way, some configuration values
work like masks.
|
|
The value is always non-NULL.
|
|
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).
|
|
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.
|
|
|
|
Don't include conf.h in mixer_api.h. Use a forward struct declaration
instead.
|
|
Don't include output_api.h in output_internal.h. This change requires
adding missing includes in several sources.
|
|
The method control() is too complicated, and overengineered. Replace
it with two trivial functions: get_volume() and set_volume().
|
|
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.
|
|
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.
|
|
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.
|
|
Moved code which deals with all audio outputs at once into a separate
library.
|
|
|
|
|
|
This function isn't used anymore.
|
|
Added audio_output_get(), audio_output_find().
|
|
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.
|
|
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.
|
|
Those have been superseded by the new legacy configuration code.
|
|
All config_get_block_*() functions should accept constant config_param
pointers.
|
|
Renamed functions, types, variables.
|
|
|
|
|
|
|
|
|
|
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
|
|
Replaced myFgets() with fgets() + g_strchomp().
|
|
Don't use NOTIFY_INITIALIZER to initialize audio_output_client_notify.
|
|
|
|
Nobody should call playAudio() with an empty chunk. Add some
assertions on that.
|
|
Since open() and play() close the device on error, we can simply check
audio_output.open instead of audio_output.result after a call.
|
|
When one of several output devices failed, MPD tried to reopen it
quite often, wasting a lot of resources. This patch adds a delay:
wait 10 seconds before retrying. This might be changed to exponential
delays later, but for now, it makes the problem go away.
|