aboutsummaryrefslogtreecommitdiffstats
path: root/src/audioOutputs/audioOutput_alsa.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* audioOutput_alsa: better period_size auto-configurationEric Wong2006-07-241-13/+20
| | | | | | | | | | | | | | | | | We'll try setting an initial value of 50ms, and halve it each time snd_pcm_hw_params fails with -EPIPE. This way we'll can use a larger (50ms) period_size whenever a device supports it, and automatically pick smaller ones if we can't set larger ones. This removes the calculation borrowed from libao (svn) as well. Other minor things: "Alsa" => "ALSA" in error messages _US appended to *_TIME constants so we won't get confused (shank's request) git-svn-id: https://svn.musicpd.org/mpd/trunk@4438 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* chang the default period_time to 50ms. On my setup, setting the period_time ↵Warren Dukes2006-07-231-1/+4
| | | | | to 0ms sounds like complete crap. 50ms is the default that xmms has used for years, so lets just stick with that. git-svn-id: https://svn.musicpd.org/mpd/trunk@4433 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutput_alsa: oops, I broke autodetection in r4363, fixedEric Wong2006-07-211-1/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4416 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add mpd-indent.shAvuton Olrich2006-07-201-3/+3
| | | | | | Add a few new options for indent to try to make things a bit cleaner git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add mpd-indent.shAvuton Olrich2006-07-201-117/+134
| | | | | | Indent the entire tree, hopefully we can keep it indented. git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* alsa: fix memory leaks from snd_*_open*()Eric Wong2006-07-171-0/+2
| | | | | | | | | ALSA uses a global config structure that's overwritten (and not free'd) every time one of those functions is called, so we have to manually call snd_config_update_free_global() to release it. Hint taken from MEMORY-LEAK in the ALSA source code git-svn-id: https://svn.musicpd.org/mpd/trunk@4381 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* sparse: replace 0 (integer) usage with NULL where appropriateEric Wong2006-07-171-4/+5
| | | | | | Probably pedantic, but yes, might as well in case we run into strange platforms where NULL is something strange. git-svn-id: https://svn.musicpd.org/mpd/trunk@4380 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* sparse: ANSI-fy function declarationsEric Wong2006-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are just warnings from sparse, but it makes the output easier to read. I ran this through a quick perl script, but of course verified the output by looking at the diff and making sure the thing still compiles. here's the quick perl script I wrote to generate this patch: ----------- 8< ----------- use Tie::File; defined(my $pid = open my $fh, '-|') or die $!; if (!$pid) { open STDERR, '>&STDOUT' or die $!; exec 'sparse', @ARGV or die $!; } my $na = 'warning: non-ANSI function declaration of function'; while (<$fh>) { print STDERR $_; if (/^(.+?\.[ch]):(\d+):(\d+): $na '(\w+)'/o) { my ($f, $l, $pos, $func) = ($1, $2, $3, $4); $l--; tie my @x, 'Tie::File', $f or die "$!: $f"; print '-', $x[$l], "\n"; $x[$l] =~ s/\b($func\s*)\(\s*\)/$1(void)/; print '+', $x[$l], "\n"; untie @x; } } git-svn-id: https://svn.musicpd.org/mpd/trunk@4378 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audio: attempt to gracefully handle disconnected/reconnected devicesEric Wong2006-07-161-0/+5
| | | | | | | | | | | Currently only ALSA is supported/tested, and only if the mixer device is not on the audio device being disconnected (software mixer). This patch allows me to disconnect my Headroom Total Airhead USB sound card, and resume playback (skips to the next song, which should be fixed) when the device is plugged back in. git-svn-id: https://svn.musicpd.org/mpd/trunk@4364 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutput_alsa: add use_mmap, period_time, buffer_time optionsEric Wong2006-07-161-15/+23
| | | | | | | ALSA support in libao supports configuring of these variables, and some hardware setups may benefit from having these things as tweakable. git-svn-id: https://svn.musicpd.org/mpd/trunk@4363 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutput_alsa: calculate period size from sample rateEric Wong2006-07-161-2/+5
| | | | | | | | | | | | | ... instead of hard-coding it to a ridiculously high value that makes bandwidth-starved devices unhappy. libao (in SVN) does the same thing, and this calculation was indeed taken from it. Low-bandwidth USB (1.1) sound devices seem to need this to prevent underrun / broken pipe errors (during hw setup, no less) from being triggered. git-svn-id: https://svn.musicpd.org/mpd/trunk@4362 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* De-inline non-trivial, non-performance-critical functionsEric Wong2006-07-151-1/+1
| | | | | | Functions that should stay inlined should have an explanation attached to them. git-svn-id: https://svn.musicpd.org/mpd/trunk@4355 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Change shank's email addressJ. Alexander Treuman2006-07-141-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Use a macro to declare disabled audio output pluginsJ. Alexander Treuman2006-07-141-14/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4321 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Huge header update, update the copyright and addAvuton Olrich2006-07-131-1/+1
| | | | | the GPL header where necessary git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Reverting patch to "fix" the alsa plugin when used with dmix. It ended up ↵J. Alexander Treuman2006-06-111-1/+2
| | | | | breaking the alsa rate plugin, and dmix seems to work fine without it. Thanks to Skee from #mpd for testing. git-svn-id: https://svn.musicpd.org/mpd/trunk@4269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* potential fix for bug #466Warren Dukes2005-12-121-6/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3726 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* gcc 2.95 fixesEric Wong2005-11-191-2/+3
| | | | | | | | | | audioOutput_osx.c, aac_decode.c, mp4_decode.c have NOT been thoroughly checked, but I nevertheless managed to eyeball and fix one incompatibility in audioOutput_osx.c All other files have been build successfully with gcc 2.95 git-svn-id: https://svn.musicpd.org/mpd/trunk@3688 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* print out bits in debug message output for OSS and ALSAWarren Dukes2005-03-191-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3104 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix for dmixWarren Dukes2005-03-171-2/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3094 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* slight changes to alsa errorsWarren Dukes2005-03-131-3/+32
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3072 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* if no audioOutput specified, we no attempt to detect if there exists a ↵Warren Dukes2005-03-121-1/+23
| | | | | usable oss or alsa device git-svn-id: https://svn.musicpd.org/mpd/trunk@3057 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* we ne allow audioOutput plugins to set the final outAudioFormat that will be ↵Warren Dukes2005-03-081-4/+10
| | | | | used. we now use alsa's _near functions to detect what to use. git-svn-id: https://svn.musicpd.org/mpd/trunk@3038 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* now player and decoder processes should only exit() when receiving term ↵Warren Dukes2005-03-081-1/+1
| | | | | signal from their respective parent processes git-svn-id: https://svn.musicpd.org/mpd/trunk@3034 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* don't need the extra snd_pcm_prepare after _dropWarren Dukes2005-03-051-1/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3020 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* more alsa workWarren Dukes2005-03-051-41/+57
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3019 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* this seemed to help a bit with the blip's on nextWarren Dukes2005-03-051-0/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3015 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* implemented dropping of current buffered audio, works for oss, but there seemsWarren Dukes2005-03-051-10/+29
| | | | | to be a "blip" for alsa devices, needs more work git-svn-id: https://svn.musicpd.org/mpd/trunk@3011 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* now alsa plugin should workWarren Dukes2005-03-051-7/+13
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3009 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* implemented alsa audioOutput plugin, now it needs testingWarren Dukes2005-03-051-0/+293
git-svn-id: https://svn.musicpd.org/mpd/trunk@3008 09075e82-0dd4-0310-85a5-a0d7c8717e4f