aboutsummaryrefslogtreecommitdiffstats
path: root/src/inputPlugins/mp3_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use strcasecmp to check for replaygain id3v2 tags, since apparently some ↵J. Alexander Treuman2006-08-231-4/+4
| | | | | apps write them in all caps. git-svn-id: https://svn.musicpd.org/mpd/trunk@4672 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Instead of ignoring mp2/mp3 files that start with a layer 1 frame, just skip ↵J. Alexander Treuman2006-08-231-2/+1
| | | | | 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
* If a frame header decode loses sync, just try again instead of trying to ↵J. Alexander Treuman2006-08-231-7/+3
| | | | | 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
* Skip layer 2 frames in mp3s and vice versa. Also drop support for layer 1, ↵J. Alexander Treuman2006-08-231-3/+15
| | | | | since it hasn't been tested. git-svn-id: https://svn.musicpd.org/mpd/trunk@4669 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* trivial: labels should be on the left-most column, no tabbingEric Wong2006-08-201-2/+2
| | | | | | | | | | | | 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
* Stop decoding once we've dropped samples at the end (it messes up the audio ↵J. Alexander Treuman2006-08-131-1/+3
| | | | | if there's more mp3 to decode) git-svn-id: https://svn.musicpd.org/mpd/trunk@4619 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Presume that the Xing frame count is accurate, and stop decoding when we hit ↵J. Alexander Treuman2006-08-131-2/+9
| | | | | the last frame git-svn-id: https://svn.musicpd.org/mpd/trunk@4618 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Several fixes uncovered with -pedanticEric Wong2006-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Silence a gcc warning... Properly.J. Alexander Treuman2006-07-261-1/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4469 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Silence a gcc warningJ. Alexander Treuman2006-07-261-0/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4468 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* jat's second tip of the day: when you change a ternary operator to an if, ↵J. Alexander Treuman2006-07-261-1/+1
| | | | | 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
* Screw this found_* stuff, just wrap parse_*() in an ifJ. Alexander Treuman2006-07-261-11/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4465 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Don't decode the first frame if it has a xing tag, not only if it has a xing ↵J. Alexander Treuman2006-07-261-1/+2
| | | | | tag with a frame count git-svn-id: https://svn.musicpd.org/mpd/trunk@4464 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Use the lame tag's encoder delay/padding to implement gapless mp3 playbackJ. Alexander Treuman2006-07-261-0/+53
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4462 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Parse lame tag for encoder delay/padding so we can later implement gaplessJ. Alexander Treuman2006-07-251-0/+67
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4460 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* jat's tip of the day: remember to remove your silly debug messages before ↵J. Alexander Treuman2006-07-251-1/+0
| | | | | committing git-svn-id: https://svn.musicpd.org/mpd/trunk@4459 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add support for mp1/2. Thanks to Stephan Beyer for the patch.J. Alexander Treuman2006-07-251-2/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4458 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Removing my stupid debug messages for testing xingJ. Alexander Treuman2006-07-251-2/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4457 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Reworking xing parsing so lame tags will fit in betterJ. Alexander Treuman2006-07-251-20/+19
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4456 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Thanks for making my code totally unreadable indent!J. Alexander Treuman2006-07-251-80/+54
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4455 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add mpd-indent.shAvuton Olrich2006-07-201-6/+4
| | | | | | 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-357/+440
| | | | | | 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
* Fix VBR mp3 seek accuracy bugJ. Alexander Treuman2006-07-181-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4399 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Cleaned up parse_xing, added support for Info magic, and added a ↵J. Alexander Treuman2006-07-181-15/+54
| | | | | 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
* Reindenting parse_xing, since I need to work on it and it's a messJ. Alexander Treuman2006-07-181-42/+41
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* inputPlugins/*_plugin.c: static-ficationEric Wong2006-07-171-18/+18
| | | | | | 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
* Remove hosted libid3tag & libmadAvuton Olrich2006-07-161-8/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4369 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
* 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
* Cleanup id3 ReplayGain parsing code.J. Alexander Treuman2006-06-211-13/+19
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4280 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Silly jat, don't use newMpdTag as a variable name!J. Alexander Treuman2006-06-211-4/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Cleanup mp3_parseId3Tag to only modify the MpdTag if we have something new ↵J. Alexander Treuman2006-06-211-7/+11
| | | | | to replace it with. git-svn-id: https://svn.musicpd.org/mpd/trunk@4278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Rewrote id3Dup to search for tags manually. Now libid3tag will actually ↵J. Alexander Treuman2006-06-211-0/+2
| | | | | 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
* Work around a stupid bug in libmad so VBR MP3s with CRC protection have the ↵J. Alexander Treuman2006-05-151-4/+17
| | | | | correct length. git-svn-id: https://svn.musicpd.org/mpd/trunk@4184 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* merge with mpd/trunk up to r3925Eric Wong2006-03-161-0/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix for mp3 replaygaineQball Cow2006-01-211-4/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3852 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Replay gain for mp3. (Patch cleaned up and provided by Jat)Qball Cow2006-01-141-18/+70
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@3826 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Patch to make the configure flag for mpd-mad and mpd-libid3tag more logic ↵Qball Cow2005-09-081-0/+3
| | | | | (from ticho) git-svn-id: https://svn.musicpd.org/mpd/trunk@3477 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* when filling mp3 buffer, check if its already full. If it is, then give up ↵Warren Dukes2005-02-141-0/+4
| | | | | 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
* merge changes from metadata-rewrite branchWarren Dukes2004-11-101-7/+13
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* rewrite replaygain code, needs testingWarren Dukes2004-11-021-2/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@2482 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* 1) fix bug, id3_tag_parse does may return NULL if there's an error in ↵Warren Dukes2004-07-241-2/+6
| | | | | | | | 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
* for mp3's, skip all initial frames that aren't layer 3 so we can be sure toWarren Dukes2004-07-031-0/+3
| | | | | get the correct bitrate for computing the song length git-svn-id: https://svn.musicpd.org/mpd/trunk@1783 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix for when trying to seek past the end of an mp3Warren Dukes2004-07-031-5/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@1782 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix poping at the beginng of mp3'sWarren Dukes2004-06-201-12/+17
| | | | | 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
* put CHUNK_SIZE backWarren Dukes2004-06-201-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@1577 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix a few bugs in mp3_decode and minimize alsa underruns by playing silence ↵Warren Dukes2004-06-191-5/+4
| | | | | when switch songs git-svn-id: https://svn.musicpd.org/mpd/trunk@1572 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* DEBUG messageWarren Dukes2004-06-191-2/+7
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@1571 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* icy metadata! wahooWarren Dukes2004-06-071-3/+36
| | | | | 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
* todo updateWarren Dukes2004-06-061-1/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@1352 09075e82-0dd4-0310-85a5-a0d7c8717e4f