Anton Khirnov
ddb4431208
id3v2: fix skipping extended header in id3v2.4
...
In v2.4, the length includes the length field itself.
13 years ago
Kostya Shishkov
f704eb612b
id3v2: add another mimetype for JPEG image
13 years ago
Anton Khirnov
713f3062a7
id3v2: set the keyframe flag on attached pictures.
13 years ago
Anton Khirnov
393fd0d89e
id3v2: remove unused ff_id3v2_read().
...
Rename ff_id3v2_read_all to ff_id3v2_read().
13 years ago
Anton Khirnov
079ea6ca5f
lavf: export id3v2 attached pictures as streams.
13 years ago
Anton Khirnov
a93b09cb45
id3v2: read attached pictures and export them in ID3v2ExtraMeta.
13 years ago
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
13 years ago
Anton Khirnov
ec22979a1d
id3v2: fix type of ID3v2EMFunc.free()
13 years ago
Diego Biurrun
c4a378855e
id3v2: reduce the scope of some non-globally-used symbols/structures
13 years ago
Diego Biurrun
3b78c180e4
id3v2: cosmetics: move some declarations before the places they are used
13 years ago
Anton Khirnov
c780b543e7
id3v2: fix NULL pointer dereference
...
Bug found by Laurent Aimar fenrir at videolan org
13 years ago
Anton Khirnov
60df6b0048
id3v2: remove pointless casts
13 years ago
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.
13 years ago
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.
13 years ago
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>
13 years ago
Anton Khirnov
d2d67e424f
Remove all uses of now deprecated metadata functions.
14 years ago
Alex Converse
86f868771b
id3v2: Check malloc result. ID3v2 tags can be very large.
14 years ago
Alex Converse
40a5dd2f35
id3v2: Initialize tflags for version 2.2.
14 years ago
Anton Khirnov
c5f4c0fd5c
id3v2: skip broken tags with invalid size
...
fixes issue2649.
14 years ago
Anton Khirnov
1885488757
id3v2: don't explicitly skip padding
...
It's pointless, since there's a seek to the end of tag later.
14 years ago
Anton Khirnov
eb1e7f78ea
id3v2: simplify error handling.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
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>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
Anton Khirnov
56e2ac6b45
id3v2: merge TYER/TDAT/TIME to date tag
14 years ago
Anton Khirnov
fb61a7c534
id3v2: fix typo in error message
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
a2704c9712
avio: add avio_tell macro as a replacement for url_ftell
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
e356fc57a2
lavf: replace all uses of url_fskip with avio_seek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
6b4aa5dac8
avio: avio_ prefix for url_fseek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
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>
14 years ago
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>
14 years ago
Anton Khirnov
ae628ec1fd
avio: rename ByteIOContext to AVIOContext.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
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>
14 years ago
Anton Khirnov
d66eff3685
id3v2: use an enum for encodings instead of magic numbers.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
Anton Khirnov
f7fcd6a254
id3v2: convert metadata after all the tags were read
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
46a2da7698
id3v2: make ff_id3v2_parse static
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
a152c77f26
id3v2: skip data length indicator
...
Originally committed as revision 25926 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Anton Khirnov
407d3d5a3a
id3v2: skip encrypted/compressed frames
...
Originally committed as revision 25903 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Anton Khirnov
7a07d158bd
id3v2: use a named constant instead of 0x02
...
Originally committed as revision 25902 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Anton Khirnov
bcb5d217ba
id3v2: add TDEN<->creation_time tag mapping
...
Originally committed as revision 25812 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
Reimar Döffinger
27af8902c4
Fix indentation of ff_id3v2_read
...
Originally committed as revision 25292 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago