| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
least MIN(od->bufferSize, size) free bytes in the buffer. Thus MIN(od->bufferSize - od->len, size) is always equal to MIN(od->bufferSize, size).
|
|
|
|
|
|
|
|
|
|
There have been bug reports on MPD regarding 24 bit output via
libao/esd. The "ao" plugin does not attempt fall back to 16 bit
currently, and thus fails to play 24 bit audio (i.e. all mp3 files).
Make it always use 16 bit samples for now, until more bits are
well-tested.
|
|
The OS X output does not seem to support 24 bit audio in the way MPD
implements it currently. Fall back to 16 bit for now, and schedule
24 bit support on OS X for MPD 0.15.
|
|
One my_usleep() invocation remains, until we find out if we can delete
it.
|
|
Cast AudioBuffer.mData to a "unsigned char*" before adding "curpos".
This fixes a gcc warning.
|
|
Commit dd7711d8 removed MPD's default ALSA buffer_time. The result
was a buffer size which was way too small for playing streams on some
sound hardware, and caused skips and distorted sound. Revert the
default to 500 ms.
|
|
"float (*lamebuf)[2] = g_malloc()" does NOT allocate two float*
buffers. The formula is even wrong: it should be applied to LAME's
output buffer, not its input buffer.
Converted "lamebuf" to the two variables "left" and "right", and
allocate them independently with the exact buffer size. Set
right=left if mono output is configured.
|
|
It's easier to work with an int16_t* pointer here.
|
|
|
|
|
|
|
|
If the shout plugin is disabled, shout_plugin.c isn't compiled at all,
no need to check the macro definition.
|
|
When ao_open_live() failed, MPD would ignore the error code in
"errno". Make it print a meaningful error message.
|
|
The function audioOutputAo_error() did not implement all possible
libao error codes. Support the rest of them, and fall back to
strerror().
|
|
|
|
The output thread automatically waits some time before retrying to
open the device. Don't duplicate this check in the pulse plugin.
|
|
The pulse plugin crashed with a segmentation fault when the pulse
server was killed.
|
|
Fix prototypes and unused variables.
|
|
The OS X output plugin wasn't adapted to the new output plugin yet,
because I had no Mac to test...
|
|
When using autodetection, AlsaData.device wasn't properly initialized
with NULL. This broke autodetection randomly.
|
|
Make the pointers "device" and "name" non-const, so we don't need the
xfree() hack. The default value is expressed as NULL.
|
|
protocol if not exist in config
|
|
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is
ffmpeg's fault, because short macros should be reserved for
applications, but since it's always a good idea to choose prefixed
macro names, even for applications, we are going to do that in MPD.
|
|
Commit d692e9 broke configurations without explicit server or sink
configuration. Check for getBlockParam()==NULL.
|
|
When an output plugin fails to play a chunk, close it. This replaces
various manual close() calls in nearly all plugins.
|
|
Don't return 0/-1 on success/error, but true/false. Instead of int,
use bool for storing flags.
|
|
The pointer becomes invalid due to pa_simple_free(), which may lead to
segmentation faults when the output is reopened later.
|
|
Use GLib allocation and logging functions.
|
|
|
|
Don't accept 24 bit audio. Force MPD to use 16 bit if anything other
than 8 or 16 bit is selected.
|
|
Don't compile the sources of disabled output plugins at all.
|
|
Again, no CamelCase in the directory name.
|