Diego Biurrun
c4a378855e
id3v2: reduce the scope of some non-globally-used symbols/structures
2011-10-13 23:20:37 +02:00
Diego Biurrun
3b78c180e4
id3v2: cosmetics: move some declarations before the places they are used
2011-10-13 23:20:35 +02:00
Anton Khirnov
c780b543e7
id3v2: fix NULL pointer dereference
...
Bug found by Laurent Aimar fenrir at videolan org
2011-10-11 14:56:41 +02:00
Anton Khirnov
60df6b0048
id3v2: remove pointless casts
2011-10-03 13:06:51 +02:00
Anton Khirnov
d2961e4ebf
id3v2: read TXXX frames with two calls to decode_str() instead of one.
...
Read the key in the first, value in the second.
This allows to avoid pointless strdups and simplify decode_str() by
dropping two of its parameters.
2011-10-03 13:06:51 +02:00
Anton Khirnov
1e18d32d01
id3v2: don't discard the whole tag when encountering empty frames.
...
While they're technically invalid, it's better to skip them and try to
read the rest of the tag.
2011-10-03 13:06:41 +02:00
David Goldwich
7a019dffe5
id3v2: add support for non-text and GEOB type tag frames
...
This extends the ID3v2 parser to allow for reading of non-text (i.e.
other than T***) meta tag frames providing a ff_id3v2_read_all()
function. An additional data structure 'ID3v2ExtraMeta' is introduced
for these tags since AVDictionary is string oriented and unsuitable
for binary data.
A parser for tag frames of type GEOB is implemented, which is needed
to extract keyring information from encrypted OMA files. GEOB data
is parsed into 'ID3v2ExtraMetaGEOB' data structures.
The routine to decode characters from different encodings to UTF-8,
formerly part of the read_ttag() function, is moved to its own
function. Because some tag frames contain subparts of unknown length,
the function is now also able to read until a null character is found.
In addition, the function now takes care of allocating a buffer long
enough to hold the decoded characters.
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:28:21 +02:00
Anton Khirnov
d2d67e424f
Remove all uses of now deprecated metadata functions.
2011-06-08 07:43:45 +02:00
Alex Converse
86f868771b
id3v2: Check malloc result. ID3v2 tags can be very large.
2011-05-26 13:16:03 -07:00
Alex Converse
40a5dd2f35
id3v2: Initialize tflags for version 2.2.
2011-05-26 13:16:03 -07:00
Anton Khirnov
c5f4c0fd5c
id3v2: skip broken tags with invalid size
...
fixes issue2649.
2011-03-22 09:08:59 -04:00
Anton Khirnov
1885488757
id3v2: don't explicitly skip padding
...
It's pointless, since there's a seek to the end of tag later.
2011-03-22 09:08:59 -04:00
Anton Khirnov
eb1e7f78ea
id3v2: simplify error handling.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-21 15:08:01 -04:00
Anton Khirnov
bca6dee386
id3v2: explicitly seek to the end of the tag after reading
...
Current code might stop in the middle of an invalid tag.
fixes issue2650
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-21 14:56:59 -04:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
45a8a02a41
lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:24:51 -04:00
Anton Khirnov
56e2ac6b45
id3v2: merge TYER/TDAT/TIME to date tag
2011-03-15 13:57:52 -04:00
Anton Khirnov
fb61a7c534
id3v2: fix typo in error message
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-09 10:57:44 +00:00
Anton Khirnov
a2704c9712
avio: add avio_tell macro as a replacement for url_ftell
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
e356fc57a2
lavf: replace all uses of url_fskip with avio_seek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:22:16 -05:00
Anton Khirnov
6b4aa5dac8
avio: avio_ prefix for url_fseek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
b7effd4e83
avio: avio_ prefixes for get_* functions
...
In the name of consistency:
get_byte -> avio_r8
get_<type> -> avio_r<type>
get_buffer -> avio_read
get_partial_buffer will be made private later
get_strz is left out becase I want to change it later to return
something useful.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov
e731b8d872
avio: move init_put_byte() to a new private header and rename it
...
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:31 -05:00
Anton Khirnov
ae628ec1fd
avio: rename ByteIOContext to AVIOContext.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Anton Khirnov
cb6bc57681
id3v2: split tables for various ID3v2 versions
...
This is needed for upcoming ID3v2.3 muxing support.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-22 02:06:10 +01:00
Anton Khirnov
d66eff3685
id3v2: use an enum for encodings instead of magic numbers.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 18:42:10 +00:00
Anton Khirnov
75aded8328
id3v2: don't overwrite existing tags
...
Apparently some broken taggers prepend a new ID3v2 tag leaving the
existing one intact. Our parser currently reads all tags and overwrites
existing values with supposedly outdated ones.
fixes issue2419
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 13:39:19 +00:00
Anton Khirnov
f7fcd6a254
id3v2: convert metadata after all the tags were read
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 13:36:28 +00:00
Anton Khirnov
46a2da7698
id3v2: make ff_id3v2_parse static
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 13:36:22 +00:00
Anton Khirnov
a152c77f26
id3v2: skip data length indicator
...
Originally committed as revision 25926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-10 15:48:56 +00:00
Anton Khirnov
407d3d5a3a
id3v2: skip encrypted/compressed frames
...
Originally committed as revision 25903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 07:52:54 +00:00
Anton Khirnov
7a07d158bd
id3v2: use a named constant instead of 0x02
...
Originally committed as revision 25902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 07:52:50 +00:00
Anton Khirnov
bcb5d217ba
id3v2: add TDEN<->creation_time tag mapping
...
Originally committed as revision 25812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 07:54:47 +00:00
Anton Khirnov
ad7768f4c4
add ff_ prefix to metadata_conv()
...
patch by Anton Khirnov anton _at_ khirnov _dot_ net
Originally committed as revision 25505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 13:20:41 +00:00
Anton Khirnov
03700d399b
Export metadata in the generic format. Deprecate old conversion API.
...
patch by Anton Khirnov anton _at_ khirnov _dot_ net
Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 19:04:25 +00:00
Reimar Döffinger
27af8902c4
Fix indentation of ff_id3v2_read
...
Originally committed as revision 25292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 17:45:18 +00:00
David Byron
0c41d554e2
Read all id3v2 tags at the beginning of mp3 files.
...
Patch by David Byron, dbyron dbyron com
Originally committed as revision 25105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-11 16:29:23 +00:00
Alexander Kojevnikov
18bbe9df9a
Support unsynchronisation for id3v2 tags.
...
Patch by Alexander Kojevnikov, alexander kojevnikov com
Originally committed as revision 24824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-18 16:29:46 +00:00
Alexander Kojevnikov
ff58de29f1
Skip short padding in id3v2.
...
Patch by Alexander Kojevnikov, alexander kojevnikov com
Originally committed as revision 24567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 08:06:52 +00:00
Michael Karcher
3a1350e8d9
Generalize ID3v2 functions to support ID3v2-like ID headers with a
...
different magic in the header (mainly targeted to Sony's .oma/.aa3
format).
Patch by Michael Karcher, ffmpeg A mkarcher dialup fu-berlin de
Originally committed as revision 23583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 13:44:57 +00:00
Stefano Sabatini
2ef6c1242a
Mark av_metadata_set() as deprecated, and use av_metadata_set2()
...
in its place.
av_metadata_set() is going to be dropped at the next major bump.
Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Jai Menon
037e9afd37
Fix off-by-1 error in the tag parsing code.
...
Originally committed as revision 22945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 12:54:50 +00:00
Anton Khirnov
ca76a11948
Add a list of generic tags and change demuxers to follow it.
...
Patch by Anton Khirnov, wyskas at gmail dot com
Originally committed as revision 21587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:39:10 +00:00
Michael Niedermayer
dfe9ee6b95
More entries for ff_id3v2_metadata_conv from ffmbc.
...
Originally committed as revision 20839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 21:02:43 +00:00
Michael Niedermayer
8a98be1a08
s/author/artist/ for ID3
...
from ffmbc
Originally committed as revision 20838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 21:01:49 +00:00
Jai Menon
2e3ca1ffd0
Skip padding bytes correctly in ID3 tags.
...
This fixes a regression introduced in r20170.
Originally committed as revision 20238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 13:55:19 +00:00
Anton Khirnov
41770abf86
id3v2: Export all text information frames with correct names.
...
Patch by Anton Khirnov <wyskas at gmail dot com>
Originally committed as revision 20171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 20:10:07 +00:00
Anton Khirnov
078d89a2b0
MP3 muxer: Write all metadata.
...
Patch by Anton Khirnov <wyskas at gmail dot com>
Originally committed as revision 20170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 16:06:00 +00:00
Anton Khirnov
6378b06208
Add id3v2 metadata conversion table and use it in mp3 muxer.
...
Patch by Anton Khirnov, wyskas gmail
Originally committed as revision 20073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 07:05:03 +00:00
Anton Khirnov
20c6837880
id3v2: Add support for UTF-16 encoding.
...
patch by Anton Khirnov, wyskas gmail com
Originally committed as revision 20006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:22:00 +00:00