- 25 Jan, 2009 9 commits
-
-
Max Kellermann authored
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.
-
Max Kellermann authored
Allocate the mixer object when it is configured. Merged mixer_configure() into mixer_new(). mixer_new() was quite useless anyway.
-
Max Kellermann authored
Don't use statically allocated mixer objects.
-
Max Kellermann authored
Return the default value in the conf_get_block_*() functions when param==NULL was passed. This simplifies a lot of code, because all initialization can be done in one code path, regardless whether configuration is present.
-
Max Kellermann authored
All config_get_block_*() functions should accept constant config_param pointers.
-
Max Kellermann authored
Document alsa_data members.
-
Max Kellermann authored
frame_size is a memory size and should be a size_t, not a signed integer.
-
Max Kellermann authored
Renamed types, functions, variables.
-
Dan McGee authored
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>
-
- 18 Jan, 2009 2 commits
-
-
Max Kellermann authored
Eliminate some more getBlockParam() invocations.
-
Max Kellermann authored
This replaces lots of getBlockParam() invocations.
-
- 17 Jan, 2009 2 commits
-
-
Max Kellermann authored
No "force" parameter, pass a default value instead.
-
Max Kellermann authored
Renamed functions, types, variables.
-
- 10 Jan, 2009 1 commit
-
-
Viliam Mateicka authored
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
-
- 07 Jan, 2009 1 commit
-
-
Max Kellermann authored
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.
-
- 04 Jan, 2009 1 commit
-
-
Viliam Mateicka authored
-
- 02 Jan, 2009 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2009 1 commit
-
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
-
- 31 Dec, 2008 1 commit
-
-
Viliam Mateicka authored
-
- 29 Dec, 2008 1 commit
-
-
Max Kellermann authored
-
- 01 Dec, 2008 1 commit
-
-
Max Kellermann authored
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.
-
- 03 Nov, 2008 1 commit
-
-
Max Kellermann authored
When using autodetection, AlsaData.device wasn't properly initialized with NULL. This broke autodetection randomly.
-
- 01 Nov, 2008 1 commit
-
-
Max Kellermann authored
Make the pointers "device" and "name" non-const, so we don't need the xfree() hack. The default value is expressed as NULL.
-
- 29 Oct, 2008 2 commits
-
-
Max Kellermann authored
When an output plugin fails to play a chunk, close it. This replaces various manual close() calls in nearly all plugins.
-
Max Kellermann authored
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
-
- 26 Oct, 2008 2 commits
-
-
Max Kellermann authored
Don't compile the sources of disabled output plugins at all.
-
Max Kellermann authored
Again, no CamelCase in the directory name.
-
- 14 Oct, 2008 2 commits
-
-
Max Kellermann authored
These macros are not available in older libasound versions (1.0.13 fails, 1.0.16 is ok). Ignore the configuration if the constants are not defined.
-
Max Kellermann authored
Added mpd.conf options for disabling automatic resamling, sample format and channel conversion. This way, users may choose to override ALSA's automatic resampling, and use libsamplerate instead.
-
- 12 Oct, 2008 2 commits
-
-
Max Kellermann authored
If the sample format isn't supported by the device (i.e. 24 bit on low-end sound chips), fall back to 16 bit output. There is code in pcm_utils.c which converts PCM data to 16 bit.
-
Max Kellermann authored
Move code which loads configuration to alsa_configure(). This removes one indent level.
-
- 11 Oct, 2008 2 commits
-
-
Max Kellermann authored
ALSA does a good job measuring its buffer_time and period_time. Don't override its defaults, unless the user demands it.
-
Max Kellermann authored
Revert e4f5d6bd "re-enable-nonblocking, but sleep if busy". Non-blocking mode with manual sleeping doesn't help at all (by the way, the patch should have used snd_pcm_wait() instead of my_usleep()). ALSA knows much more about the hardware quirks, so we just let it do the job.
-
- 10 Oct, 2008 3 commits
-
-
Max Kellermann authored
A frame contains one sample per channel, thus it is sample_size * channels. This patch includes some cleanup for various locations where the sample size for 24 bit audio was still 3 bytes (instead of 4).
-
Max Kellermann authored
The last bit of CamelCase in audio_format.h. Additionally, rename a bunch of local variables.
-
Max Kellermann authored
"bits" and "channels" cannot be negative.
-
- 29 Sep, 2008 2 commits
-
-
Max Kellermann authored
The old struct initializers are error prone and don't allow moving elements around. Since we are going to overhaul some of the APIs soon, it's easier to have all implementations use C99 initializers.
-
Eric Wong authored
Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the mind needs to retrain itself to skip over the first 4 tokens of a type to get to its meaning. So avoid having extra characters on my terminal to make it easier to follow code at 2:30 am in the morning. Please report any new issues you may come across on Free toolchains. I realize how difficult it can be to build/maintain cross-compiling toolchains and I have no intention of forcing people to upgrade their toolchains to build mpd. Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
-
- 24 Sep, 2008 2 commits
-
-
Max Kellermann authored
We have eliminated direct accesses to the audio_output struct from the all output plugins. Make it opaque for them, and move its real declaration to output_internal.h, similar to decoder_internal.h. Pass the opaque structure to plugin.init() only, which will return the plugin's data pointer on success, and NULL on failure. This data pointer will be passed to all other methods instead of the audio_output struct.
-
Max Kellermann authored
Since the output plugin returns a value indicating success or error, we can have the output core code assign the "open" flag.
-