Commit Graph

92 Commits

Author SHA1 Message Date
J. Alexander Treuman
8dcc3d31ac Remove the fifo plugin. It's currently useless for the average user, and making it more presentable isn't something I'm willing to do before 0.12. It will likely be added back after 0.12, along with some very experimental stuff to make it more usable.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 20:51:50 +00:00
Eric Wong
24c1f46353 audioOutput_alsa: better period_size auto-configuration
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
2006-07-24 01:38:51 +00:00
J. Alexander Treuman
bb9a5aaf2b Renaming stat struct to st, for consistency with the rest of mpd
git-svn-id: https://svn.musicpd.org/mpd/trunk@4435 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 23:12:44 +00:00
Warren Dukes
14eea124f6 chang the default period_time to 50ms. On my setup, setting the period_time 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
2006-07-23 04:00:52 +00:00
J. Alexander Treuman
c4d1344f8c Adding fifo output plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@4423 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:25:46 +00:00
Eric Wong
74c4f5364d audioOutput_alsa: oops, I broke autodetection in r4363, fixed
git-svn-id: https://svn.musicpd.org/mpd/trunk@4416 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 07:04:28 +00:00
J. Alexander Treuman
0623d6bee0 #include <string.h> in PulseAudio output for correctness
git-svn-id: https://svn.musicpd.org/mpd/trunk@4412 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 19:39:46 +00:00
Avuton Olrich
00e67be7c9 Add mpd-indent.sh
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
2006-07-20 18:53:56 +00:00
Avuton Olrich
29a25b9933 Add mpd-indent.sh
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
2006-07-20 16:02:40 +00:00
J. Alexander Treuman
3187eb300b s/ad/pd/ in the PluseAudio plugin (I forgot to rename when copying from alsa)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4404 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 16:50:03 +00:00
J. Alexander Treuman
2728853ec1 Throttle PuleAudio connection attempts so we don't spam the error log
git-svn-id: https://svn.musicpd.org/mpd/trunk@4403 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 16:48:24 +00:00
Eric Wong
c919ffd1bf audioOutput_mvp: remove unused variable
git-svn-id: https://svn.musicpd.org/mpd/trunk@4383 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 01:49:56 +00:00
Eric Wong
5f50870222 alsa: fix memory leaks from snd_*_open*()
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
2006-07-17 01:28:38 +00:00
Eric Wong
368034e199 sparse: replace 0 (integer) usage with NULL where appropriate
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
2006-07-17 00:15:52 +00:00
Eric Wong
a234780aab sparse: ANSI-fy function declarations
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
2006-07-17 00:15:34 +00:00
Eric Wong
b8a0f1ae6d OSS: handle device disconnects and reconnects (w/o needing a mpd restart)
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
2006-07-16 16:53:04 +00:00
Eric Wong
6b2167a444 audio: attempt to gracefully handle disconnected/reconnected devices
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
2006-07-16 16:52:29 +00:00
Eric Wong
8224e837ef audioOutput_alsa: add use_mmap, period_time, buffer_time options
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
2006-07-16 16:52:19 +00:00
Eric Wong
3c8e88b053 audioOutput_alsa: calculate period size from sample rate
... 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
2006-07-16 16:52:06 +00:00
Eric Wong
b4df8b8f88 De-inline non-trivial, non-performance-critical functions
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
2006-07-15 13:42:57 +00:00
Avuton Olrich
32fd264ffc [CLEANUP] Fix indentation to be like the rest of
the repository

git-svn-id: https://svn.musicpd.org/mpd/trunk@4348 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 05:16:53 +00:00
J. Alexander Treuman
fdf1afc8b3 Use audio_output { name } for the stream name in PulseAudio, but do it The Right Way
git-svn-id: https://svn.musicpd.org/mpd/trunk@4342 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:39:18 +00:00
J. Alexander Treuman
e4b0fcf8e0 Use audio_output { name } for the stream name in PulseAudio
git-svn-id: https://svn.musicpd.org/mpd/trunk@4340 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:30:33 +00:00
J. Alexander Treuman
2fa7125cce Change shank's email address
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:37:45 +00:00
J. Alexander Treuman
ba9a2c349f Use a macro to declare disabled audio output plugins
git-svn-id: https://svn.musicpd.org/mpd/trunk@4321 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 17:39:14 +00:00
Avuton Olrich
a37348a74f Huge header update, update the copyright and add
the GPL header where necessary

git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:20:34 +00:00
J. Alexander Treuman
09698f917c Add PulseAudio support
git-svn-id: https://svn.musicpd.org/mpd/trunk@4316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:03:49 +00:00
Eric Wong
db2f843995 OSS: correctly check for the device in oss_testDefault()
open(2) returns -1 on error (if the device does not exist),
and -1 is true.

Also, put shank's name in the copyright header since half
the code is his (including this bug :P).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4310 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-12 02:34:23 +00:00
Avuton Olrich
d8d6b949c6 Remove unnecessary include, has always been pulled
in by vorbisenc.h

git-svn-id: https://svn.musicpd.org/mpd/trunk@4298 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-05 20:07:35 +00:00
J. Alexander Treuman
30df7d49c5 Reverting patch to "fix" the alsa plugin when used with dmix. It ended up 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
2006-06-11 23:59:18 +00:00
Eric Wong
19021e9cc6 src/audioOutputs/audioOutput_oss.c: fix for big-endian machines
Patch by Qball.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git-svn-id: https://svn.musicpd.org/mpd/trunk@3935 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-03-25 05:33:14 +00:00
Eric Wong
867ca276ad Hopefully the last of the spelling fixes :>
git-svn-id: https://svn.musicpd.org/mpd/trunk@3923 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-03-16 06:41:41 +00:00
Warren Dukes
1dc252c920 potential fix for bug #466
git-svn-id: https://svn.musicpd.org/mpd/trunk@3726 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-12-12 03:22:27 +00:00
Eric Wong
f8597ccf25 remove C++ style comments
git-svn-id: https://svn.musicpd.org/mpd/trunk@3689 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-11-19 10:52:47 +00:00
Eric Wong
e8a54efe41 gcc 2.95 fixes
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
2005-11-19 10:29:20 +00:00
Qball Cow
20731cc7e6 Fixed (tested in Fink and DarwinPorts) osX output plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@3500 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-10-02 14:52:13 +00:00
Warren Dukes
dee9ab5ecd patch from Oliver Logghe for Hauppage Media MVP support
git-svn-id: https://svn.musicpd.org/mpd/trunk@3432 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-11 12:34:38 +00:00
Eric Wong
bde7029409 fix warning reported gcc 4.0: x == y == z does not work as intended
git-svn-id: https://svn.musicpd.org/mpd/trunk@3422 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-07 10:17:28 +00:00
Eric Wong
fb175591c3 don't check errno unless we have an error (ret<0) from write()
git-svn-id: https://svn.musicpd.org/mpd/trunk@3382 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-07-03 12:15:45 +00:00
Warren Dukes
db20894b90 fix OSS audioOutput plugin, so that when dropAudioBuffer is called and the oss device is closed, a subsequent call to playAudio will reopen the device
git-svn-id: https://svn.musicpd.org/mpd/trunk@3198 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-04-06 22:52:42 +00:00
Warren Dukes
e221502f59 destroy mutex's and condition's
git-svn-id: https://svn.musicpd.org/mpd/trunk@3132 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-24 11:46:44 +00:00
Warren Dukes
6107b65c23 revert to r3105
git-svn-id: https://svn.musicpd.org/mpd/trunk@3131 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-24 11:45:39 +00:00
Warren Dukes
754c29471f fix compilation error in os x plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@3115 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-23 00:52:26 +00:00
Warren Dukes
52cdd0baf6 potentially fix OS X woes
git-svn-id: https://svn.musicpd.org/mpd/trunk@3113 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-22 23:05:29 +00:00
Warren Dukes
cd03365fee some potential optimizations for OS X
git-svn-id: https://svn.musicpd.org/mpd/trunk@3105 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-20 21:08:24 +00:00
Warren Dukes
9297ae7fce print out bits in debug message output for OSS and ALSA
git-svn-id: https://svn.musicpd.org/mpd/trunk@3104 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-19 14:30:07 +00:00
Warren Dukes
d392b7e48b bump the OS X buffer up to 1s
git-svn-id: https://svn.musicpd.org/mpd/trunk@3098 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-17 03:28:05 +00:00
Warren Dukes
700d7aa2a0 dynamically allocate a buffer for 0.5s of audio for OS X
git-svn-id: https://svn.musicpd.org/mpd/trunk@3097 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-17 03:08:34 +00:00
Warren Dukes
a85438792f tweak OS X a bit more
git-svn-id: https://svn.musicpd.org/mpd/trunk@3096 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-17 02:52:19 +00:00
Warren Dukes
63f152466b OS X tweaks
git-svn-id: https://svn.musicpd.org/mpd/trunk@3095 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-17 02:33:40 +00:00