Huge thanks to gnarlie for helping me find and diagnose
several problems stemming from autogen.sh on FreeBSD 6.1
We require autoconf 2.58 for autogen.sh, but it seems like
that's always been the case, we just never caught it before :/
"bash ./configure" just about sums up what I want to do right now...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4384 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Nothing here is ever exported for linkage besides the
InputPlugin structure, so mark them static to save a few bytes.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4382 09075e82-0dd4-0310-85a5-a0d7c8717e4f
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
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
Both values are compiled to zero, but this is more correct
since we're using the correct enum (in the unlikely case that
the FLAC library breaks compatibility).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4379 09075e82-0dd4-0310-85a5-a0d7c8717e4f
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
sparse is a semantic parser developed for the Linux kernel,
but works for any project written (ANSI) C.
You can get sparse via git here:
git clone git://www.kernel.org/pub/scm/devel/sparse/sparse.git
git-svn-id: https://svn.musicpd.org/mpd/trunk@4377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Like the ALSA patches, this allows OSS devices to be disconnected
during playback and MPD will be able to reopen and reuse them without
restarting.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4366 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This should help with the previous set of patches against the ALSA
audio output. We should have fully disconnectable/reconnectable ALSA devices
now.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4365 09075e82-0dd4-0310-85a5-a0d7c8717e4f
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
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
... 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
We never used many features from it, so there's no point in
keeping it and forcing people to install a non-standard library.
It may be standard on many GNU/Linux distributions, but there
are many other UNIXes out there. This makes life much easier
for people cross-compiling (like me :)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4361 09075e82-0dd4-0310-85a5-a0d7c8717e4f
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
Just setupLogOutput and redirect things to the logs before
spawning the main process. We've already daemonized at this
point, so we've already proven that we can fork, but we haven't
done it yet.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4353 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Remove unused functions from the header,
static where possible
Cleanup whitespace->tabs
git-svn-id: https://svn.musicpd.org/mpd/trunk@4341 09075e82-0dd4-0310-85a5-a0d7c8717e4f