summaryrefslogtreecommitdiff
path: root/apps/mp3data.c (unfollow)
Commit message (Collapse)Author
2012-03-18Build librbcodec with DSP and metadata.Sean Bartell
All associated files are moved to /lib/rbcodec. Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
2011-12-03Fix red: Mark variable as unused the rockbox wayThomas Jarosch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31125 a1c6a512-1295-4272-9138-f99709370657
2011-12-03Remove redundant assigment to "dummy" variableThomas Jarosch
It was probably in there to silence a gcc warning about unused variable "dummy". Detected by cppcheck. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31124 a1c6a512-1295-4272-9138-f99709370657
2011-11-29FS#12412 : Delete old buffer allocation code which has been replaced by ↵Boris Gjenero
core_alloc, and move buffer setup code to core_alloc.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31088 a1c6a512-1295-4272-9138-f99709370657
2011-08-14GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.Thomas Martitz
Namely, introduce buffer_get_buffer() and buffer_release_buffer(). buffer_get_buffer() aquires all available and grabs a lock, attempting to call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause a panicf() (doesn't actually happen, but is for debugging purpose). buffer_release_buffer() unlocks that lock and can additionally increment the audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was used temporarily only. buffer_available() is a replacement function to query audiobuflen, i.e. what's left in the buffer. Buffer init is moved up in the init chain and handles ipodvideo64mb internally. Further changes happened to mp3data.c and talk.c as to not call the above API functions, but get the buffer from callers. The caller is the audio system which has the buffer lock while mp3data.c and talk mess with the buffer. mpeg.c now implements some buffer related functions of playback.h, especially audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit. audiobuf and audiobufend are local to buffer.c now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-04-13Fix the Xing header parser to have reliable gapless playback. Closes FS#12062.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29708 a1c6a512-1295-4272-9138-f99709370657
2011-03-18Optimize memory consumption in the mp3data parser. The vbr-header parser ↵Andree Buschmann
will never need 1.800 byte of data. The maximum amount of data needed is 1/10 of this. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29610 a1c6a512-1295-4272-9138-f99709370657
2011-03-17Local implementation of read_uint32be() in mp3data.c needs a major correction.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29609 a1c6a512-1295-4272-9138-f99709370657
2011-03-16Avoid magic numbers. Use the available defines to set up the bit mask to ↵Andree Buschmann
compare MPEG frame headers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29607 a1c6a512-1295-4272-9138-f99709370657
2011-03-16Hopefully fix red now and reduce binsize for HWCODEC targets. This change ↵Andree Buschmann
implements a local read_uint32be() function within the mp3data parser. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29606 a1c6a512-1295-4272-9138-f99709370657
2011-03-16More robust implementation of MPEG frame header search. The parser will not ↵Andree Buschmann
only search for the very first byte sequence that looks like a valid MPEG frame header. It will search for a valid MPEG frame header sequence, decode it, and probe if there is a consecutive MPEG frame header of the same type (MPEG version, layer, sampling frequency) at the expected position. This approach will reduce false detection of MPEG frame headers in case of errorous metadata or garbaged files. Fixes FS#12007. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29603 a1c6a512-1295-4272-9138-f99709370657
2011-03-13Add up skipped bytes when parsing for valid MPEG headers.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29583 a1c6a512-1295-4272-9138-f99709370657
2011-03-13Refactor reading of Xing/Info/Vbri tags to prepare for further changes.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29582 a1c6a512-1295-4272-9138-f99709370657
2011-02-27Remove some useless code and variables in the area of metadata parsing. Bump ↵Andree Buschmann
codec API. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29438 a1c6a512-1295-4272-9138-f99709370657
2011-02-17Ensure proper initialization of some variables and arrays in metadata ↵Andree Buschmann
parsing. Fixes FS#11948. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29323 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Reduce excessive debug output during mp3 parsing.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29191 a1c6a512-1295-4272-9138-f99709370657
2010-09-19get_mp3file_info(): Use the correct printf format in DEBUGF()Rafaël Carré
Also remove useless parens and casts in bytes2int() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28115 a1c6a512-1295-4272-9138-f99709370657
2010-09-19get_mp3file_info(): remove unused variableRafaël Carré
frames_per_entry is only used for debugging git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28109 a1c6a512-1295-4272-9138-f99709370657
2010-02-07Remove more tabsAndree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24550 a1c6a512-1295-4272-9138-f99709370657
2009-09-03Quick fix to allow certain MP3 files to play. If a Xing or Info header ↵Magnus Holmgren
didn't properly set both the frame count and byte count, then the bitrate was set to zero, preventing playback. Better to use the bitrate of the first audio frame in this case. (More sanity checking of the frame count should perhaps be done.) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22611 a1c6a512-1295-4272-9138-f99709370657
2008-10-15Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. ↵Björn Stenberg
Moved mp3data.c/h from firmware to apps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-08-29Add wpseditor, the Google Summer of Code 2008 project of Rostislav Chekan. ↵Frank Gevaerts
Closes FS#9327 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18362 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-05-05Convert the whole codebase to UTF-8, except docs/COMMITTERS and ↵Nicolas Pennequin
tools/creative.c, which need checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-03Made source files #include the header file that they implement to make sure ↵Bertrik Sikken
they are in sync. Made some local functions static. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17312 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Some more debug output disabling.Nicolas Pennequin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17026 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Remove some more simulator debugging output.Steve Bavin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17019 a1c6a512-1295-4272-9138-f99709370657
2007-03-17Fix simulator builds, and some debugf() format strings.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12817 a1c6a512-1295-4272-9138-f99709370657
2007-02-15Shave a few bytes off the binary size, especially on hwcodec targetsLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12323 a1c6a512-1295-4272-9138-f99709370657
2006-11-10Support building tagcache db natively on PC using the core of theMiika Pekkarinen
Rockbox tagcache database engine. Only host endian support at the moment and no command line parameters. Mainly for developers for debugging at the moment. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11497 a1c6a512-1295-4272-9138-f99709370657
2006-10-19When seeking, actually use the MP3 VBR TOC again, if available.Magnus Holmgren
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11274 a1c6a512-1295-4272-9138-f99709370657
2006-04-02killed warning due to comparison signed/unsignedDaniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9444 a1c6a512-1295-4272-9138-f99709370657
2006-04-02Prevent two division by zeros and one problem causing a crash in theMiika Pekkarinen
mp3 metadata parser. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657
2005-11-02Allow bigger delay setting in LAME header.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7730 a1c6a512-1295-4272-9138-f99709370657
2005-09-25Rather obvious simplification of the mpeg frametime fraction calculation.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7562 a1c6a512-1295-4272-9138-f99709370657
2005-09-15Archos recording/playback: (1) Xing header creation: * Now estimates the ↵Jens Arnold
framecount from the recording time if the MAS frame counter saturates, so it always writes a valid Xing header. * Reverted my brainless short-xing-header change. This was only valid for layer 3. (2) Xing/VBRI header evaluation: Fixed possible overflow in bitrate calculation. (3) MPEG thread: Avoid double chunk size limiting for the rare case of 8 MB modded Ondios. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7522 a1c6a512-1295-4272-9138-f99709370657
2005-09-10Reworked handling of MPEG audio frame & file info: * Fixed frame size ↵Jens Arnold
calculation for layer 1 (all versions) and layer 2 (V2/V2.5). * Exact frame time (expressed as a fraction) for way more precise playtime calculation at 44100/22050/11025Hz sample frequency. * Exact playtime<->position conversion for CBR also used for resume position. * More compact code, long policy. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7505 a1c6a512-1295-4272-9138-f99709370657
2005-09-04Archos recording: Always prepend ID3V2 and Xing header to a recording file, ↵Jens Arnold
even with prerecording and file splitting. Adjusted Xing header creation to create smaller headers. Fixed missing break; in the mpeg thread. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7472 a1c6a512-1295-4272-9138-f99709370657
2005-08-29Renamed CONFIG_HWCODEC and MASNONE to the more appropriate CONFIG_CODEC and ↵Jens Arnold
SWCODEC, respectively. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7416 a1c6a512-1295-4272-9138-f99709370657
2005-08-22Some slight size optimisations.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7383 a1c6a512-1295-4272-9138-f99709370657
2005-08-13Support the LAME Info header too.Magnus Holmgren
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7313 a1c6a512-1295-4272-9138-f99709370657
2005-07-13Fixed the errors.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7133 a1c6a512-1295-4272-9138-f99709370657
2005-07-05Applied patch "[ 1232957 ] MP3 metadata fixes for software codec".Miika Pekkarinen
Thanks to Magnus Holmgren. Now metadata reading is better with improved performance for mp3 files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7030 a1c6a512-1295-4272-9138-f99709370657
2005-06-18Fixed MPEG header validation for layer 1 on iriver, and simplified it for ↵Jens Arnold
archos. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6746 a1c6a512-1295-4272-9138-f99709370657
2005-06-12Fixed some mp3 metadata reading performance problem. Next trackMiika Pekkarinen
switching should be more reliable. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6691 a1c6a512-1295-4272-9138-f99709370657
2005-06-12Added support for reading LAME header delay and padding fields for proper ↵Thom Johansen
gapless MP3 support. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6689 a1c6a512-1295-4272-9138-f99709370657
2005-06-04(1) Bugfix: create_xing_header() now returns 0 in case of an invalid header ↵Jens Arnold
template, i.e. when mp3headerinfo() returns false. It used to return a random number, causing all sorts of problems. This was the cause for the end of a recording (still in the buffer) occasionally overwriting the beginning. (2) Some code cleanup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6557 a1c6a512-1295-4272-9138-f99709370657
2005-04-05mp3buf renamed to audiobufLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6252 a1c6a512-1295-4272-9138-f99709370657
2005-01-30long policyJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5712 a1c6a512-1295-4272-9138-f99709370657
2004-12-01The debug output now reports the correct mpeg layerLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5476 a1c6a512-1295-4272-9138-f99709370657