Commit Graph

301 Commits

Author SHA1 Message Date
J. Alexander Treuman
57b0a42940 Don't stop decoding if we're at maxFrames just because there's a Xing tag.
Instead, stop decoding as soon as we've found the frames/samples at the
"end" that we want drop.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5149 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:22:35 +00:00
J. Alexander Treuman
f158016d0e Cleaning up some damn near unreadable wrapping caused by indent.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5148 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:13:19 +00:00
J. Alexander Treuman
5da19e5f78 Properly calculate the number of remaining samples in the MP3 frame, even
though in practice it should never matter.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5147 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:10:21 +00:00
Eric Wong
63dd4b4598 Add OggFLAC support when using the new 1.1.3 FLAC library
This means that when using libFLAC as a shared object,
OggFLAC support is dependent on the compile-time options of
the libFLAC library loaded.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5112 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:50 +00:00
Eric Wong
b152086ae4 Introduce backwards compatibility with pre-1.1.3 FLAC
git-svn-id: https://svn.musicpd.org/mpd/trunk@5111 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:47 +00:00
Eric Wong
ccf971a320 inputPlugins/flac_plugin: switch to the new (1.1.3) API
We will restore compatibility with the old API in the
next few commits; along with OggFLAC support.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5110 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:44 +00:00
Eric Wong
5048388251 inputPlugins/flac_plugin: cleanup static declarations
move flac_decode to the bottom, so we don't have to declare
all of our static functions.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5109 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:41 +00:00
Warren Dukes
29c7681ca4 jack patch from anarch (and some type fixes for mp4 and acc plugins)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4912 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-18 02:49:13 +00:00
Eric Wong
e0a8c17957 mp3_plugin.c: fix compilation with -pedantic and/or gcc 2.95
git-svn-id: https://svn.musicpd.org/mpd/trunk@4876 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-06 18:01:12 +00:00
Warren Dukes
648f48ce3b handle invalid xing tags better.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4866 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-03 00:58:20 +00:00
Eric Wong
90847fc881 Replace strdup and {c,re,m}alloc with x* variants to check for OOM errors
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
2006-08-26 06:25:57 +00:00
J. Alexander Treuman
5b7c3c8707 Fix an esoteric gcc warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4684 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-25 00:29:41 +00:00
Eric Wong
64a4c635de audiofile_plugin: use afSetVirtualSampleFormat, too
This finally fixes a bug from over two years ago playing a wave file
(oprah.wav) with the following characteristics (from sfinfo):

File Format    Microsoft RIFF WAVE Format (wave)
Data Format    8-bit integer (unsigned, little endian)
Audio Data     986827 bytes begins at offset 58 (3a hex)
1 channel, 986827 frames
Sampling Rate  22050.00 Hz
Duration       44.754 seconds

Of course, this has been regression tested with all the files
that the previous commit got working.  Thanks to Michael Pruett
(audiofile author) for the hint and shame on me for forgetting
about it for over two years :x

git-svn-id: https://svn.musicpd.org/mpd/trunk@4682 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-24 21:59:19 +00:00
Eric Wong
b8fe818ae7 audiofile_plugin: fix for playing mono .au files with 8000Hz sample rate
Use the 'Virtual' variants of afGetSampleFormat, afGetChannels,
afGetVirtualFrameSize in the audiofile library, since it already does
the necessary abstraction for us.

Of course, I've regression tested these changes against my
standard 44100Hz/2ch/16bit wave files and they continue to play
fine.

Files tested:
english.au (Linus Torvalds pronouncing 'Linux' in English)
B01.Red_Bright_Heart.au (Chinese opera, sounds correct to me even though
I don't actually understand the words)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4681 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-24 20:54:40 +00:00
J. Alexander Treuman
25555cd1b0 Use strcasecmp to check for replaygain id3v2 tags, since apparently some apps write them in all caps.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4672 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 19:10:47 +00:00
J. Alexander Treuman
87327cb931 Instead of ignoring mp2/mp3 files that start with a layer 1 frame, just skip the layer 1 frames looking for a layer 2 or 3 frame.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4671 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 14:06:16 +00:00
J. Alexander Treuman
30bf8f89f4 If a frame header decode loses sync, just try again instead of trying to decode a frame (which will automatically decode the next header without allowing us to do some checks on it).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4670 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 13:43:23 +00:00
J. Alexander Treuman
103dd654f0 Skip layer 2 frames in mp3s and vice versa. Also drop support for layer 1, since it hasn't been tested.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4669 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 13:20:24 +00:00
Eric Wong
67de7ea116 fix Replay Gain reading for FLAC and OggFLAC
This bug was NOT introduced in my OggFLAC additions, honest!

As far as I can see, it was introduced way back in r2482, but
nobody ever noticed until the post here:
http://www.musicpd.org/forum/index.php?topic=1152.0

While we're at it, clean up some of the variable typing.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4664 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-22 06:36:56 +00:00
Eric Wong
72c12ff768 oggvorbis_plugin.c: update message to match changed function name
I'm not using __FUNCTION__ or __func__ because compiler support
for these is still a bit iffy as far as I know...

git-svn-id: https://svn.musicpd.org/mpd/trunk@4662 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:59 +00:00
Eric Wong
ee223bf02b trivial: labels should be on the left-most column, no tabbing
Unfortunately there doesn't seem to be an indent switch for this,
but we have find + perl:

find src -name '*.[ch]' | xargs perl -i -p -e \
's/^\s+(\w+):/$1:/g unless /^\s+default:/'

This is a followup to r4605, and there are no actual code
changes in this.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4661 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:54 +00:00
Eric Wong
f8b07de3d4 inputPlugins/_ogg_common.c: check for read errors correctly
git-svn-id: https://svn.musicpd.org/mpd/trunk@4660 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:50 +00:00
Avuton Olrich
aa487e6c75 This fixes 5 potential bugs where the conditional would always be true.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4659 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 03:11:12 +00:00
J. Alexander Treuman
4fe965c304 Stop decoding once we've dropped samples at the end (it messes up the audio if there's more mp3 to decode)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4619 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-13 02:56:23 +00:00
J. Alexander Treuman
66512edb6c Presume that the Xing frame count is accurate, and stop decoding when we hit the last frame
git-svn-id: https://svn.musicpd.org/mpd/trunk@4618 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-13 02:53:20 +00:00
Eric Wong
6395edab69 mpc_plugin: fix seeking bug
remember to reset our chunk pointer when seeking

git-svn-id: https://svn.musicpd.org/mpd/trunk@4597 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08 00:56:05 +00:00
Eric Wong
354d9aed79 mpc_plugin.c: fix compilation error with MPC_FIXED_POINT
(It sounds like crap though)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4596 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 21:23:03 +00:00
Eric Wong
5aca21a502 Several fixes uncovered with -pedantic
playerData.c:
proper error checking

directory.c:
properly check myFgets() for errors
(it returns NULL on error)

inputPlugins/mp3_plugin.c
get rid of commas at the end of enums

interface.c:
we weren't using long long, so strtoll isn't needed
get rid of void-pointer arithmetic

sllist.c:
get rid of void-pointer arithmetic

compress.c:
get rid of C++ comments, some compilers don't accept them

Note that I personally like void pointer arithmetic, but some
ancient compilers don't support them :(

git-svn-id: https://svn.musicpd.org/mpd/trunk@4510 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 04:18:41 +00:00
Avuton Olrich
4144afe551 Now fix the mp4 plugin warnings to what they were before the dynamic linking
git-svn-id: https://svn.musicpd.org/mpd/trunk@4490 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 09:13:01 +00:00
J. Alexander Treuman
2fa3e8ab26 Silence a gcc warning... Properly.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4469 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:31:21 +00:00
J. Alexander Treuman
faa3debe8e Silence a gcc warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4468 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:28:43 +00:00
J. Alexander Treuman
f2088bf869 jat's second tip of the day: when you change a ternary operator to an if, don't forget to take out everything after the :. And don't forget my first tip either.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:25:29 +00:00
J. Alexander Treuman
a570f8d9a9 Screw this found_* stuff, just wrap parse_*() in an if
git-svn-id: https://svn.musicpd.org/mpd/trunk@4465 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:17:30 +00:00
J. Alexander Treuman
13cca01c7b Don't decode the first frame if it has a xing tag, not only if it has a xing tag with a frame count
git-svn-id: https://svn.musicpd.org/mpd/trunk@4464 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:14:19 +00:00
J. Alexander Treuman
b926dd100b Use the lame tag's encoder delay/padding to implement gapless mp3 playback
git-svn-id: https://svn.musicpd.org/mpd/trunk@4462 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:10:19 +00:00
Avuton Olrich
bf3848ef94 Put mp4ff back into the tree
git-svn-id: https://svn.musicpd.org/mpd/trunk@4461 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:05:50 +00:00
J. Alexander Treuman
1523e8a842 Parse lame tag for encoder delay/padding so we can later implement gapless
git-svn-id: https://svn.musicpd.org/mpd/trunk@4460 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:49:10 +00:00
J. Alexander Treuman
a686436c77 jat's tip of the day: remember to remove your silly debug messages before committing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4459 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:22:48 +00:00
J. Alexander Treuman
356f16a877 Add support for mp1/2. Thanks to Stephan Beyer for the patch.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4458 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:08:55 +00:00
J. Alexander Treuman
073970ec4a Removing my stupid debug messages for testing xing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4457 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 20:09:24 +00:00
J. Alexander Treuman
e65fb6e14f Reworking xing parsing so lame tags will fit in better
git-svn-id: https://svn.musicpd.org/mpd/trunk@4456 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 20:08:22 +00:00
J. Alexander Treuman
0979b0f75e Thanks for making my code totally unreadable indent!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4455 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 19:08: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
Avuton Olrich
099f0e103f Warnings fixes, since MPD uses different mp4ff they
obviously changed some stuff around

git-svn-id: https://svn.musicpd.org/mpd/trunk@4409 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 20:11:14 +00:00
J. Alexander Treuman
649a037e8d Use ERROR only once for our ogg vorbis errors, so we don't get a timestamp mid line
git-svn-id: https://svn.musicpd.org/mpd/trunk@4402 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 15:58:11 +00:00
Avuton Olrich
9f6364af45 Remove the internal mp4ff dependency
git-svn-id: https://svn.musicpd.org/mpd/trunk@4401 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 15:54:53 +00:00
J. Alexander Treuman
ec19a53f23 Fix VBR mp3 seek accuracy bug
git-svn-id: https://svn.musicpd.org/mpd/trunk@4399 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 23:28:25 +00:00
J. Alexander Treuman
6ea0ba392a Cleaned up parse_xing, added support for Info magic, and added a parse_extension_headers function for when LAME tag support is added
git-svn-id: https://svn.musicpd.org/mpd/trunk@4398 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 18:18:02 +00:00
J. Alexander Treuman
e7566b9643 Reindenting parse_xing, since I need to work on it and it's a mess
git-svn-id: https://svn.musicpd.org/mpd/trunk@4397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 16:28:58 +00:00
Eric Wong
16c72e9742 inputPlugins/oggflac_plugin.c: remove unused var
git-svn-id: https://svn.musicpd.org/mpd/trunk@4389 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 09:55:06 +00:00
Warren Dukes
0bf396d610 some quick hacks to avoid signedness warnings with gcc4
git-svn-id: https://svn.musicpd.org/mpd/trunk@4387 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 21:46:32 +00:00
Eric Wong
6f013cd9c4 inputPlugins/*_plugin.c: static-fication
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
2006-07-17 01:47:32 +00:00
Eric Wong
232dcf4b94 sparse: fix a enum type mismatch in flac_plugin
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
2006-07-17 00:15:49 +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
Avuton Olrich
2001db8c18 Remove hosted libid3tag & libmad
git-svn-id: https://svn.musicpd.org/mpd/trunk@4369 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 17:49:15 +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
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
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
e2a14f5b9e Cleanup id3 ReplayGain parsing code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4280 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:38:18 +00:00
J. Alexander Treuman
fd6696e46a Silly jat, don't use newMpdTag as a variable name!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:22:46 +00:00
J. Alexander Treuman
c6dbba6c5d Cleanup mp3_parseId3Tag to only modify the MpdTag if we have something new to replace it with.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:11:07 +00:00
J. Alexander Treuman
bdf4107117 Rewrote id3Dup to search for tags manually. Now libid3tag will actually tell us the version of the tag we got. As an added benefit we also do fewer reads/mallocs when scanning mp3s during database update/creation.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 15:12:41 +00:00
Eric Wong
ab069b7e59 gcc 2.95 compatibility fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-04 11:36:02 +00:00
J. Alexander Treuman
c9b3498a2d Work around a stupid bug in libmad so VBR MP3s with CRC protection have the correct length.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4184 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-15 13:48:47 +00:00
Avuton Olrich
9cd0882cd1 Add 'aif' as an extension with libaudiofile.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4132 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-03 18:35:17 +00:00
Qball Cow
4324150b42 Added Disc # metadata item based on bug 571 (added id3v2 support)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4131 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-30 19:55:56 +00:00
Eric Wong
327d4861cf oggvorbis_plugin.c: eek, I'm a moron..
git-svn-id: https://svn.musicpd.org/mpd/trunk@4081 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-18 06:28:12 +00:00
Eric Wong
e31558206a oggvorbis_plugin.c: oops, fix an off-by-one
Huge thanks to lorijho for finding the bug.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4080 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-18 06:17:48 +00:00
Eric Wong
6963502213 merge with mpd/trunk up to r3925
git-svn-id: https://svn.musicpd.org/mpd/trunk@3926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-03-16 06:52:46 +00:00
Qball Cow
03c60a28e2 fix for mp3 replaygaine
git-svn-id: https://svn.musicpd.org/mpd/trunk@3852 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-01-21 17:52:14 +00:00
Qball Cow
971bf39784 Replay gain for mp3. (Patch cleaned up and provided by Jat)
git-svn-id: https://svn.musicpd.org/mpd/trunk@3826 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-01-14 22:47:16 +00:00
Eric Wong
0153a78906 flac_plugin: revert the performance optimization we did a while ago
the performance optimization was broken for big-endian architectures.
mpd-uclinux is doing using a slightly different optimization to flacWrite()
that we may end up using here in the future.


git-svn-id: https://svn.musicpd.org/mpd/trunk@3753 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-12-31 03:40:03 +00:00
Qball Cow
edcfbef90d Patch to make the configure flag for mpd-mad and mpd-libid3tag more logic (from ticho)
git-svn-id: https://svn.musicpd.org/mpd/trunk@3477 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-09-08 21:08:02 +00:00
Eric Wong
1a3254f73c patch for using Tremor to decode Ogg-Vorbis
* autotools support is included, the floating point Vorbis decoder
remains the default.
* close bug #353
* Thanks to Hannes Reich for the patch

git-svn-id: https://svn.musicpd.org/mpd/trunk@3453 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-25 08:07:28 +00:00
Eric Wong
05036ef618 Fix musepack bitrate display
Thanks to Paul Seropian (paranoos)

git-svn-id: https://svn.musicpd.org/mpd/trunk@3421 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-07 10:05:57 +00:00
Eric Wong
a196714eaa update musepack decoding code to use the newer mpcdec library
libmusepack is deprecated


git-svn-id: https://svn.musicpd.org/mpd/trunk@3408 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-07-30 10:28:43 +00:00
Warren Dukes
9968e9f80c syntax error cleanup
git-svn-id: https://svn.musicpd.org/mpd/trunk@3192 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-04-03 13:52:00 +00:00
Warren Dukes
ba5f60e02d fix syntax error
git-svn-id: https://svn.musicpd.org/mpd/trunk@3191 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-04-03 13:51:18 +00:00
Avuton Olrich
f962c1034e - Fix incompatible type warnings
git-svn-id: https://svn.musicpd.org/mpd/trunk@3169 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-29 00:41:59 +00:00
Eric Wong
5bddf6eefc fix FLAC playback over non-ideal HTTP streams
git-svn-id: https://svn.musicpd.org/mpd/trunk@3076 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-13 22:58:04 +00:00
Warren Dukes
3764b06083 hopefully replaygain now works for musepack
git-svn-id: https://svn.musicpd.org/mpd/trunk@3031 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-07 01:30:29 +00:00
Warren Dukes
01b708bc13 add support for parsing ape tags in musepack files
git-svn-id: https://svn.musicpd.org/mpd/trunk@3030 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-07 00:51:21 +00:00
Warren Dukes
3bdee55217 added composer, performer, and comment metadata items
git-svn-id: https://svn.musicpd.org/mpd/trunk@3022 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05 22:24:10 +00:00
Warren Dukes
1f28c24097 s/mpc_bool_t/BOOL/ so it works with libmusepack 1.1
git-svn-id: https://svn.musicpd.org/mpd/trunk@2991 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-26 22:28:19 +00:00
Warren Dukes
5327a8f421 when filling mp3 buffer, check if its already full. If it is, then give up trying to read in a potential mp3 frame, cause no mp3 frame should be bigger than the input buffer
git-svn-id: https://svn.musicpd.org/mpd/trunk@2950 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-14 00:52:29 +00:00
Warren Dukes
9e4465cbd1 disable replaygain support for musepack till i can figure out the format that the replagininfo is tored in by libmusepack
git-svn-id: https://svn.musicpd.org/mpd/trunk@2942 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-09 03:08:39 +00:00
Eric Wong
cc06400df2 fix a logic error in flacParseReplayGain and also a gcc 2.95 compile error
git-svn-id: https://svn.musicpd.org/mpd/trunk@2935 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-07 03:55:29 +00:00
Warren Dukes
ac6a74927e make local functions static
git-svn-id: https://svn.musicpd.org/mpd/trunk@2932 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-03 04:08:35 +00:00
Warren Dukes
2debf9924a big endian support for flac
git-svn-id: https://svn.musicpd.org/mpd/trunk@2929 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 04:32:55 +00:00
Warren Dukes
9f29915f77 fix to code just submitted
git-svn-id: https://svn.musicpd.org/mpd/trunk@2928 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 04:25:56 +00:00
Warren Dukes
1e123ad4b7 minor optimization to flacWrite()
git-svn-id: https://svn.musicpd.org/mpd/trunk@2927 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 04:22:16 +00:00
Warren Dukes
f134e2686a todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@2926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 04:05:19 +00:00
Warren Dukes
09a87803a1 forgot to remove some debug statements
git-svn-id: https://svn.musicpd.org/mpd/trunk@2925 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 02:24:40 +00:00
Warren Dukes
c87b9cf439 playing, stopping, and seeking mpc files should work now. next is parsing metadata for the db.
git-svn-id: https://svn.musicpd.org/mpd/trunk@2924 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-02 02:21:58 +00:00
Warren Dukes
3d671eca3a mpc plugin basically working.
todo:
1) figure out why stop takes so long
2) fix seeking
3) parse tags

git-svn-id: https://svn.musicpd.org/mpd/trunk@2923 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-01 13:22:58 +00:00
Warren Dukes
b95426f58f some minor changes, still doesn't quite work
git-svn-id: https://svn.musicpd.org/mpd/trunk@2922 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-01 05:26:37 +00:00
Warren Dukes
4422fae24d remove getOggTotalTime(), wasn't used anywhere
git-svn-id: https://svn.musicpd.org/mpd/trunk@2921 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-01 04:18:36 +00:00
Warren Dukes
e02659f6c0 will compile if you manually add "HAVE_MUSEPACK" to config.h and -lmusepack to
MPD_LIBS in Makefile

git-svn-id: https://svn.musicpd.org/mpd/trunk@2919 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-01 03:20:16 +00:00
Warren Dukes
9c218e487d beginnings of a mpc plugin, work in progress
git-svn-id: https://svn.musicpd.org/mpd/trunk@2918 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-02-01 02:00:25 +00:00
Warren Dukes
62afded096 fix compilation error: s/mpdItemToMpdTag/addItemToMpdTag/
git-svn-id: https://svn.musicpd.org/mpd/trunk@2915 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-01-31 00:33:16 +00:00
Eric Wong
0cf6cc4ada add streaming input support for FLAC
git-svn-id: https://svn.musicpd.org/mpd/trunk@2912 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-01-29 23:46:06 +00:00
Warren Dukes
568d29fe8b remove np from credits
git-svn-id: https://svn.musicpd.org/mpd/trunk@2793 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-12-12 02:18:58 +00:00
Warren Dukes
c5d27d8eaa merge changes from metadata-rewrite branch
git-svn-id: https://svn.musicpd.org/mpd/trunk@2589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-10 21:58:27 +00:00
Warren Dukes
86cf70dcb2 here's why mikmod was segfaulting, the char * strings returned need to be strdup()'d, and not free'd
git-svn-id: https://svn.musicpd.org/mpd/trunk@2565 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-09 20:28:54 +00:00
Warren Dukes
14c6150fd9 more descriptive error messages for mpd
git-svn-id: https://svn.musicpd.org/mpd/trunk@2514 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-05 05:12:58 +00:00
Warren Dukes
54679d9028 rewrite replaygain code, needs testing
git-svn-id: https://svn.musicpd.org/mpd/trunk@2482 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 19:56:59 +00:00
Warren Dukes
2d9c057283 flac spelling fixes from np
git-svn-id: https://svn.musicpd.org/mpd/trunk@2116 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-09-08 18:24:18 +00:00
Warren Dukes
8810eafb82 add configuration variables for shout stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@2099 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-09-02 18:16:00 +00:00
Warren Dukes
63efaae0ee don't call replaygain and cause preamp to beused if no replaygain tag exists
git-svn-id: https://svn.musicpd.org/mpd/trunk@2026 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-08-13 03:54:31 +00:00
Warren Dukes
cdb6372049 1) fix bug, id3_tag_parse does may return NULL if there's an error in decoding the id3v2 tag
2) in the same place, delete the id3Tag (fixes a memory leak)
3) version: 0.12.0 -> 0.11.4

git-svn-id: https://svn.musicpd.org/mpd/trunk@1903 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-24 02:54:19 +00:00
Warren Dukes
c173c74660 fix same seeking past end of file issue for mp4, please test DJMario
git-svn-id: https://svn.musicpd.org/mpd/trunk@1784 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-03 14:49:10 +00:00
Warren Dukes
643d7e77b1 for mp3's, skip all initial frames that aren't layer 3 so we can be sure to
get the correct bitrate for computing the song length

git-svn-id: https://svn.musicpd.org/mpd/trunk@1783 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-03 14:33:21 +00:00
Warren Dukes
26741dcdeb fix for when trying to seek past the end of an mp3
git-svn-id: https://svn.musicpd.org/mpd/trunk@1782 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-03 14:13:43 +00:00
Warren Dukes
76a1975b8e spelling fixes from normalperson
git-svn-id: https://svn.musicpd.org/mpd/trunk@1710 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-29 01:24:49 +00:00
Warren Dukes
0e419d38c2 set flac_metadata_respond(VORBIS_COMMENT) so that flac responds to vorbis comments and returns these to the metadata callback (so we can properly set the replaygain state)
git-svn-id: https://svn.musicpd.org/mpd/trunk@1707 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-28 23:40:08 +00:00
Warren Dukes
178e6c5263 fix some memory leaks in flac_plugin - from normalperson
git-svn-id: https://svn.musicpd.org/mpd/trunk@1699 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-28 12:51:26 +00:00
Warren Dukes
47873cd858 fix bug in ogg replaygain
git-svn-id: https://svn.musicpd.org/mpd/trunk@1662 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-25 21:10:14 +00:00
Warren Dukes
77bd4ec428 slight fix to replay gain tags for oggs
git-svn-id: https://svn.musicpd.org/mpd/trunk@1661 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-25 18:11:31 +00:00
Warren Dukes
9db4044fbd fix poping at the beginng of mp3's
Theory: in previous versions, dither struct was static, which by definetion means its initiallized as all O's.  However, i removed static from the dither structbut then its not initialized.  Thus dithering started with some random stuff in the bit buckets.  Should be fixed now.

git-svn-id: https://svn.musicpd.org/mpd/trunk@1578 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-20 01:37:18 +00:00
Warren Dukes
486d4acfb2 put CHUNK_SIZE back
git-svn-id: https://svn.musicpd.org/mpd/trunk@1577 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-20 00:50:21 +00:00
Warren Dukes
dbd79a6b47 fix a few bugs in mp3_decode and minimize alsa underruns by playing silence when switch songs
git-svn-id: https://svn.musicpd.org/mpd/trunk@1572 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-19 22:27:29 +00:00
Warren Dukes
7f15536683 DEBUG message
git-svn-id: https://svn.musicpd.org/mpd/trunk@1571 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-19 21:31:53 +00:00
Warren Dukes
43255a7f63 since stuff like vorbis streams report actual time into stream,
not time played, for previous add a hack where we record the difference
in time between previous presses

git-svn-id: https://svn.musicpd.org/mpd/trunk@1440 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-10 21:42:20 +00:00
Warren Dukes
bfaf6cbd9d fix some streaming metadata issues
git-svn-id: https://svn.musicpd.org/mpd/trunk@1416 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-09 16:58:33 +00:00
Warren Dukes
283e34eaae icy metadata! wahoo
still lots some debug code with print out's, so don't bitch about it!

git-svn-id: https://svn.musicpd.org/mpd/trunk@1364 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-07 05:00:56 +00:00
Warren Dukes
4e53282469 todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@1352 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-06 16:42:14 +00:00
Warren Dukes
a8a8aacdb3 implement list_OK/command_list_ok_begin
update COMMANDS

git-svn-id: https://svn.musicpd.org/mpd/trunk@1344 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-05 16:01:44 +00:00
Warren Dukes
69d787b3e1 todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@1341 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-05 05:03:00 +00:00
Warren Dukes
3f5d9a67fc todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@1335 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-04 20:13:04 +00:00
Warren Dukes
d22e5ec522 clean up some command.h include stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@1323 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-04 00:52:11 +00:00
Warren Dukes
15c61f6eb0 don't stop on play command!
git-svn-id: https://svn.musicpd.org/mpd/trunk@1313 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-03 02:56:26 +00:00
Warren Dukes
3c0c34bcb7 '\n' are bad
git-svn-id: https://svn.musicpd.org/mpd/trunk@1296 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-02 02:07:07 +00:00
Warren Dukes
4d14e3a4dd remove an errant AHHHH
git-svn-id: https://svn.musicpd.org/mpd/trunk@1284 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 13:36:19 +00:00
Warren Dukes
7e78fb455c remove some debug code
git-svn-id: https://svn.musicpd.org/mpd/trunk@1282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 12:53:25 +00:00
Warren Dukes
16da97e4c8 parsing mp3 id3v2 tags on the fly for streams
git-svn-id: https://svn.musicpd.org/mpd/trunk@1281 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 12:50:15 +00:00
Warren Dukes
fe0b751c82 ogg voribs comment parsing on the fly in the decoder
git-svn-id: https://svn.musicpd.org/mpd/trunk@1279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 11:18:25 +00:00
Warren Dukes
187eba5754 ogg_plugin cleanup
git-svn-id: https://svn.musicpd.org/mpd/trunk@1278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 10:37:13 +00:00
Warren Dukes
9e0cbb30f4 add "aiff" and "au" as suffixes that audiofile can handle
git-svn-id: https://svn.musicpd.org/mpd/trunk@1275 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 04:20:47 +00:00
Warren Dukes
1a5b04e4e8 some stream metadata fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@1266 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 23:29:35 +00:00
Warren Dukes
5f2c19bfc9 add more mod suffixes, and better detection of mod files; and forgot to add mod_plugin, oops *giggle*
git-svn-id: https://svn.musicpd.org/mpd/trunk@1265 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 21:17:20 +00:00
Warren Dukes
d9f5cca9b8 mod_plugin, just for tarzeau
git-svn-id: https://svn.musicpd.org/mpd/trunk@1263 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 20:59:55 +00:00
Warren Dukes
000e053ce7 icynames are now copied to title of streams
git-svn-id: https://svn.musicpd.org/mpd/trunk@1258 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 11:42:46 +00:00
Warren Dukes
ded15bf118 fix avuton's mp4 compile bug
git-svn-id: https://svn.musicpd.org/mpd/trunk@1253 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 03:18:30 +00:00
Warren Dukes
4de1a41c83 fix oggTagDup booboo
git-svn-id: https://svn.musicpd.org/mpd/trunk@1252 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 03:02:17 +00:00
Warren Dukes
9f0cbe9e49 aac_plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@1250 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 02:56:14 +00:00
Warren Dukes
3aba9b2a66 mp4_plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@1249 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 02:42:22 +00:00
Warren Dukes
5d392c70cb audiofile_plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@1248 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 02:31:55 +00:00
Warren Dukes
97fe75a0bf little cleanup of plugin stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@1247 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 02:21:06 +00:00
Warren Dukes
30424cb3e9 flac_plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@1246 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 01:54:10 +00:00
Warren Dukes
fd6aa25359 mp3 and ogg plugin stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@1245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 01:21:17 +00:00