| Commit message (Collapse) | Author | Files | Lines |
|
Two bugs here led to a large number of interrupts being generated on the
sound card when ALSA output is being used. Because we specify no default
period_time, the sound card gives us 3000 interrupts/sec rather than a more
sane 20 or 30. This completes the revert of dd7711 already started by
4ca24f.
The larger bug was in the change to config_get_block_unsigned() and using 0
as the default value for both 'buffer_time' and 'period_time'. This means
any pre-setting of these options in newAlsaData() gets wiped out. Add a new
default for period_time, and ensure default values for buffer_time and
period_time are used if none are provided by the user.
Signed-off-by: Dan McGee <dan@archlinux.org>
[mk: set defaults in newAlsaData() to fix auto-configuration; renamed
"_MS" back to "_US" because ALSA expects microseconds, not milliseconds]
Signed-off-by: Max Kellermann <max@duempel.org>
|
|
The null plugin synchronizes the playback so it will happen in real
time. This patch adds a configuration option which disables this: the
playback will then be as fast as possible. This can be useful to
profile MPD.
|
|
Free memory in the finish() method to make valgrind happy.
|
|
Renamed functions and variables.
|
|
Eliminate some more getBlockParam() invocations.
|
|
This replaces lots of getBlockParam() invocations.
|
|
Don't modify the configured string.
|
|
Determine the audio output name with audio_output_get_name() instead
of obtaining the name from the configuration again.
|
|
No "force" parameter, pass a default value instead.
|
|
Renamed functions, types, variables.
|
|
It returns bool, not int.
|
|
I was having problems with shoutcast stream outputs before applying
the attached patch, which enlarges the shoutcast output
buffer. Ideally, this should be configurable, but this resolves the
issue for my needs.
|
|
This patch tryes to introduce pluggable mixer (struct mixer_plugin) along with some basic infrastructure (mixer_* functions). Instance of mixer (struct mixer) is used in
alsa and oss output plugin
|
|
|
|
All what's left in pcm_utils.h is the pcm_range() utility function,
which is only used internally by pcm_volume and pcm_mix.
|
|
"#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
|
|
|
|
|
|
|
|
g_strsplit() is more portable than strtok_r().
|
|
|
|
|
|
JACK documentation states: "The caller is responsible for calling
free(3) any non-NULL returned value."
This does not seem to include the array elements. Duplicate them
after jack_get_ports(), and free only the array. Convert
JackData.output_ports to non-const.
|
|
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
|
|
Use GLib's G_GNUC_UNUSED instead of macros from gcc.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|