| Commit message (Collapse) | Author | Files | Lines |
|
MPD used to be silent when it could stat() a directory, but could not
opendir() it to read its contents. This caused a lot of support
headache with users who have wrong file permissions. Add another
warning message.
|
|
Overwrite invalid UTF-8 sequences with question marks.
|
|
There's no point in declaring num_items as a uint8_t, it doesn't save
any space, due to padding. This allows us to lift the articial "255
items" limitation.
|
|
Renamed numOfItems to num_items.
|
|
|
|
The warning message "problems opening audio device while playing ..."
does not help at all, and should be removed. At this point, the real
error message has already been logged by the output thread.
|
|
When all outputs are disabled, MPD printed only a meaningless message
"problems opening audio device", although it didn't attempt to open a
device.
|
|
After initialization, audio_outputs is always non-NULL. Don't check
that.
|
|
The check "open()!=0" is wrong, you have to write "open()>=0", because
-1 means error, and 0 is a valid file handle.
|
|
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.
|
|
The return type of most OS X functions is OSStatus, not int. We can
get a nice error message from GetMacOSStatusCommentString(), log it.
|
|
Don't call AudioOutputUnitStart() in the play() method, do it after
the device has been opened. We can eliminate the "started" property
now, because the device is always started when it's open.
|
|
We don't need to keep commented code forever. If we want that
test_default_device() implementation back one day, we'll pick it from
the git history.
|
|
Renamed types, functions, variables.
|
|
ao_play() gets PCM data in the in_audio_format, and converts it to
out_audio_format. Comparing the input data with out_audio_format is
wrong.
prefixed with "STG:" will be automatically removed. STG: Trailing
empty lines will be automatically removed. STG: vi: set textwidth=75
filetype=diff nobackup:
|
|
Eliminated manual integer parsing.
|
|
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.
|
|
Eliminate one label and a bunch of gotos.
|
|
Use C instead of CPP.
|
|
Return type of oss_find_supported_param(), oss_can_convert() and
oss_find_unsupported_param() should be bool instead of int.
|
|
Convert the num_supported and num_unsupported variables from signed to
unsigned.
|
|
Renamed types, functions and variables.
|
|
|
|
|
|
|
|
When the sample format is unknown, fall back to 16 bit samples.
|
|
Simplify error handling a bit by moving some code into a separate
function. This eliminates a good bunch of gotos, but that's not
finished yet.
|
|
When the MVP device has been closed in the cancel() method, and the
play() method attempts to reopen it, check for errors.
|
|
Moved the table lookup code to a separate function.
|
|
The array must never be modified, it's a constant lookup table.
|
|
Looks like the MVP audio output only supports 16 and 24 bit audio
samples. If MPD generates any other sample formats, force it to use
16 bit.
|
|
When the channel count is greater than 2, fall back to stereo sound.
|
|
Return true/false instead of 0/-1. Also check its return value in
mvp_output_open().
|
|
Pass a pointer to the audio_format struct instead of 3 separate
integers.
|
|
Don't pass the big_endian flag to mvp_set_pcm_params(), do a simple
"G_BYTE_ORDER==G_LITTLE_ENDIAN" instead.
|
|
Instead of manually calculating the number of elements in the
mvp_sample_rates array, use GLib's convenience macro G_N_ELEMENTS().
|
|
Renamed types, functions and variables.
|
|
Return true/false instead of 1/0.
|
|
|
|
Return true/false for success/failure instead of returning 0/-1.
|
|
Renamed types, functions and variables.
|
|
The MPD core guarantees that the audio_output object is always
consistent, and our timer!=NULL checks are superfluous.
|
|
Renamed functions and variables.
|
|
The MPD core guarantees that the audio_output object is always in a
consistent state: either open or closed. When open, it will not call
the open() method again, and when closed, it will not call play().
Removed several checks and the NULL initialization.
|
|
The method is empty, and we can simply set the method pointer to NULL
instead.
|
|
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.
|
|
Use config_get_block_string("name") instead of audio_output_get_name().
|
|
"ls" is a bad name for a library which parses URIs. We'll move the
rest of the "ls" library later.
|
|
Don't return an uninitialized bool variable.
|
|
Fix a gcc warning, initialize the "space" variable at the beginning of
mpd_jack_play().
|