aboutsummaryrefslogtreecommitdiffstats
path: root/src/audioOutputs/audioOutput_shout.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* export FATAL() with noreturn attributeEric Wong2007-08-271-3/+1
| | | | | | | | | | | | | | | | | | | | | This attribute was set in log.c, but not exported to other modules in log.h This allows us to remove some unneccessary variable initializations that were added in r6277. I did audioOutput_shout.c a bit differently, to avoid some jumps. before: $ size src/mpd text data bss dec hex filename 225546 4040 14600 244186 3b9da src/mpd after: $ size src/mpd text data bss dec hex filename 224698 4040 14600 243338 3b68a src/mpd git-svn-id: https://svn.musicpd.org/mpd/trunk@6821 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutputs/audioOutput_shout: adding timers backJ. Alexander Treuman2007-08-111-27/+80
| | | | | | | The shout plugin will now feign playback until the connect timeout is hit, preventing connection attempts from blocking playback on local outputs. Note that this patch is very different from remiss' original one. git-svn-id: https://svn.musicpd.org/mpd/trunk@6738 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Use <= when comparing (current time - start time) to a timeout. This wayJ. Alexander Treuman2007-06-121-2/+2
| | | | | | | if the clock ticks right after we get the start time and the timeout is only one second, we'll still wait a full second instead of returning immediately. git-svn-id: https://svn.musicpd.org/mpd/trunk@6557 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Make the shout timeout configurable. The default is still 2 seconds.J. Alexander Treuman2007-06-121-2/+13
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Redoing remiss's shout patch. This time, just block on open() instead ofJ. Alexander Treuman2007-06-121-96/+29
| | | | | | | | | | | | | pretending to play while we wait for the connection to timeout. This removes the need for timers, and thus removes the now unnecessary timer_get_runtime_* function(s) from the timer code. The changes made compared to the pre-patch shout plugin are: * Block while connecting, timing out after 2 seconds. * Close the device, and not just the connection, if play returns -1. * Remove sd->last_err (it's always assigned before use). * Some minor cleanups. git-svn-id: https://svn.musicpd.org/mpd/trunk@6555 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* This should resolve some of the timing issues experienced after switching ↵Roger Bystrøm2007-06-091-8/+76
| | | | | | | | | | | from blocking to non-blocking shout api * Wait ten seconds before declearing the shout server unreachable * Fix a state where it would never attempt to connect if it had previously failed It isn't perfect yet, but I'd like some testing on it from other setups git-svn-id: https://svn.musicpd.org/mpd/trunk@6523 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* After changing ERROR();exit() to FATAL(), gcc incorrectly detects someJ. Alexander Treuman2007-05-261-3/+2
| | | | | | uninitialized variables and non-returning functions that return. Let's tell it to stfu. git-svn-id: https://svn.musicpd.org/mpd/trunk@6277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Changing all calls to ERROR() followed by exit(EXIT_FAILURE) with a singleJ. Alexander Treuman2007-05-261-24/+14
| | | | | call to FATAL(). git-svn-id: https://svn.musicpd.org/mpd/trunk@6276 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* The massive copyright updateAvuton Olrich2007-04-051-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Don't initialize globals to zero (or NULL)Eric Wong2007-01-141-1/+1
| | | | | | | | Some compilers and linkers aren't smart enough to optimize this, as global variables are implictly initialized to zero. As a result, binaries are a bit smaller as more goes in the .bss and less in the text section. git-svn-id: https://svn.musicpd.org/mpd/trunk@5254 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* remove some unneccesary includes from the audioOutput'sWarren Dukes2006-10-181-3/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4913 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutput_shout: use shout_set_nonblockingEric Wong2006-10-111-3/+17
| | | | | | | | | | | | This patch should continue to allow mpd to play as well as possible to icecast servers while avoiding stalls on local devices. This has eliminated ALSA underrun errors for me while streaming to a remote host while the network connection was bad. Of course, this makes opening a connection non-blocking, too, so myShout_openShoutConn is a bit more complex. git-svn-id: https://svn.musicpd.org/mpd/trunk@4898 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Allow an ogg quality of -1 to be specified.J. Alexander Treuman2006-10-101-5/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4893 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Replace strdup and {c,re,m}alloc with x* variants to check for OOM errorsEric Wong2006-08-261-1/+1
| | | | | | | | | | | | | | | | | | | I'm checking for zero-size allocations and assert()-ing them, so we can more easily get backtraces and debug problems, but we'll also allow -DNDEBUG people to live on the edge if they wish. We do not rely on errno when checking for OOM errors because some implementations of malloc do not set it, and malloc is commonly overridden by userspace wrappers. I've spent some time looking through the source and didn't find any obvious places where we would explicitly allocate 0 bytes, so we shouldn't trip any of those assertions. We also avoid allocating zero bytes because C libraries don't handle this consistently (some return NULL, some not); and it's dangerous either way. git-svn-id: https://svn.musicpd.org/mpd/trunk@4690 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Spelling & GrammarAvuton Olrich2006-08-111-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4612 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add mpd-indent.shAvuton Olrich2006-07-201-174/+196
| | | | | | 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
* sparse: ANSI-fy function declarationsEric Wong2006-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 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-13/+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
* Remove unnecessary include, has always been pulledAvuton Olrich2006-07-051-1/+0
| | | | | in by vorbisenc.h git-svn-id: https://svn.musicpd.org/mpd/trunk@4298 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Hopefully the last of the spelling fixes :>Eric Wong2006-03-161-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3923 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* remove C++ style commentsEric Wong2005-11-191-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3689 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* a little more error outputWarren Dukes2005-03-131-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3078 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* if no audioOutput specified, we no attempt to detect if there exists a ↵Warren Dukes2005-03-121-0/+2
| | | | | usable oss or alsa device git-svn-id: https://svn.musicpd.org/mpd/trunk@3057 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* wee bit of code cleanupWarren Dukes2005-03-051-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3021 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix some compilation warningWarren Dukes2005-03-051-1/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3013 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* implemented dropping of current buffered audio, works for oss, but there seemsWarren Dukes2005-03-051-0/+4
| | | | | 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
* don't need to pass audioFormat to openDeviceFuncWarren Dukes2004-11-191-3/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2708 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* merge changes from metadata-rewrite branchWarren Dukes2004-11-101-3/+15
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* add "genre" and "description" to shout config parametersWarren Dukes2004-11-091-0/+19
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2557 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* be sure to flush the metadata on song changeWarren Dukes2004-11-091-39/+47
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* don't set granulepos, that's pad, mmmkay?Warren Dukes2004-11-091-5/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2555 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* try one other thing to fix icecast dropping clientsWarren Dukes2004-11-091-0/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2554 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* make default non-publicWarren Dukes2004-11-041-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2506 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* shout config: make "user" optional and default to "source", also add ↵Warren Dukes2004-11-041-2/+17
| | | | | optional "public" git-svn-id: https://svn.musicpd.org/mpd/trunk@2505 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* new commands: enalbe_device, and disable_device, (maybe these commands ↵Warren Dukes2004-11-021-1/+7
| | | | | | | should be toggles instead of two seperate commands?) also, on close device, close the shout connection git-svn-id: https://svn.musicpd.org/mpd/trunk@2485 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* abstract out audioFormat conversion from shout plugin to the audioOutput layer,Warren Dukes2004-11-021-57/+15
| | | | | now format can be specified for each different audioOutput device git-svn-id: https://svn.musicpd.org/mpd/trunk@2474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* print more info out in error messages for shoutWarren Dukes2004-11-021-7/+16
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2473 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* only attempt to reconnect to shout server every 60 secondsWarren Dukes2004-11-021-6/+21
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* move audioOutput dir to audioOutputsWarren Dukes2004-11-021-0/+581
git-svn-id: https://svn.musicpd.org/mpd/trunk@2471 09075e82-0dd4-0310-85a5-a0d7c8717e4f