Rename the "version" struct, because it seems to be a reserved name on
Solaris:
"src/decoder/mad_decoder_plugin.c", line 550: (enum) tag redeclared: version
cc: acomp failed for src/decoder/mad_decoder_plugin.c
Should be safe on OS X 10.4 (32-bit), since Apple's OSStatus boils
down to "signed long", and g_set_error() takes gint, which is really
just "int". Assigning "signed long" to "int" on 32-bit Unix should be
just fine, since both are signed 32-bit ints.
No idea if this is safe on 64-bit OS X.
Add new config parameter 'device' to audio_output type "osx":
- if not supplied or set to "default", open default device
- if set to "system", open system device
- otherwise 'device' should be an audio device name: mpd will find and
open the specified audio device, falling back to the default
device if it's not found
this is inconsistent with other commands (e.g. find) and seems wrong --
a song with no stickers attached is a perfectly valid state and an empty
list of stickers is also perfectly valid.
Fixes a regression: for output_plugin.delay(), we added a method to
the timer class which returns the delay in milliseconds. This fails
to detect negative values, because the unsigned integer is divided by
1000, and then casted to signed.
After popular demand, I've switched the order of "artist" and "title"
in the stream title. There is no standard, and there is no reliable
way to parse those from the stream title.
Call access() and print an extra error message when EACCES is
returned. Hopefully this will reduce the number of support requests
due to wrong file permissions.
When one song is played twice, and the decoder is working on the
second "instance", but the first should be seeked, the check in
player_seek_decoder() may assume that it can reuse the decoder without
exchanging pipes. The last thing was the mistake: the pipe pointer
was different, which led to an assertion failure. This patch adds
another check which exchanges the player pipe.
Change the assertion on "fail_timer==NULL" in OPEN to a runtime check.
This assertion crashed when the output thread failed while the player
thread was calling audio_output_open().