Commit graph

46 commits

Author SHA1 Message Date
Michael Giacomelli
37a9a200b2 Commit FS#12096 by Stephan Grossklass. Increases the maximum ID3v2 field length to 240 bytes on large memory targets, and 90 bytes on low memory targets. Total bytes for all tags combined remains unchanged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29821 a1c6a512-1295-4272-9138-f99709370657
2011-05-04 17:29:53 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Andree Buschmann
29a855245c Fix residual red. Keep index in mp3entry for HWCODEC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29692 a1c6a512-1295-4272-9138-f99709370657
2011-04-07 22:11:12 +00:00
Andree Buschmann
39d9d8bab1 Fix red and yellow. Move resume_index from mp3entry to playlist_info struct. Bump codec api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29691 a1c6a512-1295-4272-9138-f99709370657
2011-04-07 21:38:51 +00:00
Andree Buschmann
d1766a1510 Rework parts of the replaygain code to be able to differentiate between 0.00 dB set intentionally and having no replaygain information at all. Bump codec api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29679 a1c6a512-1295-4272-9138-f99709370657
2011-04-04 15:21:44 +00:00
Andree Buschmann
41658bd07a Remove some useless code and variables in the area of metadata parsing. Bump codec API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29438 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 20:49:08 +00:00
Andree Buschmann
71ceac0b74 FS#11964. Rework replaygain handling to save metadata buffer and binsize. Remove string representation of replaygain and use a dedicated ftoa implementation for WPS/screen info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29388 a1c6a512-1295-4272-9138-f99709370657
2011-02-24 19:10:59 +00:00
Thomas Martitz
f577a6a22c Embedded album art support in MP3/ID3v2 tags.
- Support is limited to non-desync jpeg in id3v2 tags. Other formats (hopefully) follow in the future.
- Embedded album art takes precedence over files in album art files.
- No additional buffers are used, the jpeg is read directly from the audio file.

Flyspray: FS#11216
Author: Yoshihisa Uchida and I

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29259 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:13:13 +00:00
Michael Hohmuth
7141ff4513 Add option to resume next track on automatic track change
Move autoresume setting into its own menu.  Add option to customize
which tracks should be resumed on automatic track change.  Tracks can
be selected based on their their file location or genre tag
(comma-separated list of filename / genre substrings).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29251 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 20:31:35 +00:00
Andree Buschmann
5a2421a0de Follow up on r29199. Move new codec types to the end of the list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29203 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 11:43:45 +00:00
Andree Buschmann
7345ac124e Submit FS#11918: Add 2 more codec types to be able to differentiate between AAC / AAC-HE and MPC SV7 / SV8. Additionally handle ATARI soundfiles in get_codec_base_type() as intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29199 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 08:28:23 +00:00
Andree Buschmann
35bcdef144 Find a more consistent and resilient way to handle SBR upsampled files. The detection is only done in one place (the metadata parser) and takes into account that the m4a header might already report corrected frame/sample sizes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29188 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 15:12:55 +00:00
Andree Buschmann
dedde47424 Limit the size of each ID3 metadata item to avoid that the metadata buffer is filled by single items. Fixes FS#11875, FS#9805 and FS#9299.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29174 a1c6a512-1295-4272-9138-f99709370657
2011-01-30 20:23:55 +00:00
Michael Giacomelli
1190165d06 Commit small piece of FS#11748 by Michael Hohmuth. Disables database specific fields if the database is not compiled in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28790 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 04:58:25 +00:00
Thomas Martitz
4f03a97169 Fix red on hwcodec. Forgot to change the macro for it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28673 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 18:08:01 +00:00
Thomas Martitz
9393e4c24b Change how all the metadata parsers are read from a giant swich/case to function pointers via array index. Also unify the api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28672 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 18:02:50 +00:00
Thomas Martitz
2c2e261648 Use system headers a bit more: use host's fcntl.h for O_RDONLY etc.
Removes the need to fix up those in the simulator.

Also work around some posix-mingw incompatibilities (e.g. getcwd()).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27904 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 12:38:25 +00:00
Mohamed Tarek
4ff2cf4f0c WMA Voice now plays and seeks in the sim. The code is still in floating point, and is not added to the main build. There's still a bug with the decoder in the current state that it outputs a fewer number of samples than ffmpeg's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27744 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 17:55:02 +00:00
Yoshihisa Uchida
0f5c6d47d4 add True Audio (TTA) codec
decoding speed iPod video ~153%
But in some players, the decoding speed is not enough.
(e.g., H180 52.4% (thanks amiconn), H300 55.09% (thanks n1s))

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25994 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 12:40:09 +00:00
Mohamed Tarek
cd4d80aeba nomsg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25922 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 21:42:09 +00:00
Bertrik Sikken
7ab1cd7b1b Save some RAM by changing a char[] into a const char * in struct afmt_entry. Make other fields const too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24970 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 14:13:35 +00:00
Yoshihisa Uchida
561cb2c401 Add wave64(.w64) codec (FS#11022)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24959 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:48:07 +00:00
Yoshihisa Uchida
8c5eaa35ec Add vox (Dialogic telephony formats) codec add. (FS#11021)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24956 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:13:30 +00:00
Yoshihisa Uchida
4e3c807466 Add Sun Audio codec. (FS#10433)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24955 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 07:22:20 +00:00
Yoshihisa Uchida
45e009a364 add SMAF codec (.mmf extension)(FS#10432)
This codec supports only wave data (ADPCM and PCM).
It does not support MIDI, picture, and movie.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24878 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:46:29 +00:00
Mohamed Tarek
0070a01859 Add two extra fields to struct mp3entry, in preparation for making ATRAC3 more generic. (i.e, to avoid having to pass it RMContext even when the codec has nothing to do with rm.)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24680 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 01:24:11 +00:00
Mohamed Tarek
23ac6ffaa1 Add support for Sony OMA file format. Currently only supports ATRAC3 (without DRM), and seeks. Tested on sansa
e200.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24615 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 03:21:37 +00:00
Dominik Wenger
e96d139b4a Enable 12 other 8bit Atari file formats which the asap codec already supports. No metadata available for them.
New formats: .cmc / .cm3 / .cmr / .cms / .dmc / .dlt / .mpd / .mpt / .rmt / .tmc / .tm8 /.tm2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24529 a1c6a512-1295-4272-9138-f99709370657
2010-02-06 12:49:03 +00:00
Mohamed Tarek
685628cf18 Support for playback of atrac3 audio in rm, in sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22311 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:36:57 +00:00
Mohamed Tarek
26cee86a0c Add support for AC3 audio in RM container.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22155 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 13:54:06 +00:00
Mohamed Tarek
5f5d105755 Change the naming scheme for codecs found in different containers.
Like changing AFMT_AAC to AFMT_MP4_AAC and AFMT_RAAC to AFMT_RM_AAC.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22066 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 12:13:22 +00:00
Mohamed Tarek
b8cccb5ae1 Adding support for playback of aac audio in rm container, with seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22031 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 15:47:13 +00:00
Jonathan Gordon
24b136f62d rework cuesheet support:
swcodec: search for a .cue during buffering (with the possibility of adding embedded cuesheets later)
hwcodec: search for a .cue when the id3 info for the current track is requested for the first time (disk should be spining so non issue)

major beenfit from this is simplofy cuesheet handling code a bit... if mp3entry.cuesheet != NULL then there is a valid cuesheet.. no need to worry about if its enabled and preloaded.
There is the possibility of putting the next/prev subtrack handling inside the playback code (as well as the id3 updating stuff (see FS#9789 for more info), but thats probably not a good idea.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21978 a1c6a512-1295-4272-9138-f99709370657
2009-07-20 05:18:18 +00:00
Mohamed Tarek
e184ef1027 Adding support for rm playback. Only cook codec is supported for now and no seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21695 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 22:40:45 +00:00
Magnus Holmgren
04c2df541b Support longer tags on targets with 'enough' memory (more than 2 MB RAM).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20927 a1c6a512-1295-4272-9138-f99709370657
2009-05-13 17:23:02 +00:00
Björn Stenberg
51b45d5602 Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 06:38:51 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
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-06-28 18:10:04 +00:00
Bertrik Sikken
c97e503a10 Cleaned up playblack.h header file and usage of it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17276 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 14:13:13 +00:00
Brandon Low
c1b718403a Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15841 a1c6a512-1295-4272-9138-f99709370657
2007-11-28 05:13:05 +00:00
Brandon Low
3386dd7be9 Fix FS8069, because Nico_P made it easy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15840 a1c6a512-1295-4272-9138-f99709370657
2007-11-28 04:58:16 +00:00
Thom Johansen
294ec1d110 Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 10:40:55 +00:00
Nicolas Pennequin
6a92e475ac Make get_metadata act on a struct mp3entry rather than a struct track_info.
This should make it easy to use a buffer handle to put the ID3 data in.
The changes in get_metadata are mostly search and replace. The only thing
it actually used to do on the struct track_info was set taginfo_ready to
true.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14326 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 11:56:13 +00:00
Miika Pekkarinen
7c4e0c8730 Initial version of tagcache! There are still some bugs in the engine
and much more problems with the UI.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9256 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 11:33:42 +00:00
Dave Chapman
15ca09106d Set appropriate codec type for .m4a files (ALAC or AAC) inside get_metadata(). probe_file_format() is no longer an exported function. Make get_metadata() return false if it can not read the metadata - on the assumption that the codec will also fail.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8118 a1c6a512-1295-4272-9138-f99709370657
2005-12-01 20:39:19 +00:00
Jens Arnold
579210df87 Restructured codec type handling a bit. Reduced code size, esp. on archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7443 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 17:03:09 +00:00
Dave Chapman
3ad485b15a Move metadata parsing code from playback.c into metadata.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6714 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 22:27:57 +00:00