Commit Graph

168 Commits

Author SHA1 Message Date
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
Michael Niedermayer
0fecf2642b Merge remote-tracking branch 'newdev/master'
Conflicts:
	Changelog
	doc/APIchanges
	doc/optimization.txt
	libavformat/avio.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 17:22:52 +01: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
ffb0304593 id3v2: fix typo in error message
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit fb61a7c534)
2011-03-09 18:35:37 +01: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
Carl Eugen Hoyos
ac533ac458 Do not loop endlessly if id3v2 tag size is negative / too large.
Fixes the sample from issue 2649.
2011-03-07 23:32:26 +01:00
Anton Khirnov
384c9c2fa7 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
2011-03-05 02:29:31 +01: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
74b3f67c9c lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e356fc57a2)
2011-03-03 14:15:08 +01:00
Anton Khirnov
f59d8ff8cd avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b4aa5dac8)
2011-03-03 14:15:03 +01: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
e63a362857 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>
(cherry picked from commit b7effd4e83)
2011-02-22 02:44:37 +01: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
ae99313aa5 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>
(cherry picked from commit e731b8d872)
2011-02-20 19:05:47 +01:00
Anton Khirnov
471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01: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
fe01dd8d74 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>
(cherry picked from commit cb6bc57681)
2011-01-23 19:32:07 +01: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
eeb0b893e3 id3v2: use an enum for encodings instead of magic numbers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d66eff3685)
2011-01-21 20:36:01 +01:00
Anton Khirnov
d4cc1f5b97 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>
(cherry picked from commit 75aded8328)
2011-01-21 20:36:00 +01:00
Anton Khirnov
189665d927 id3v2: convert metadata after all the tags were read
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f7fcd6a254)
2011-01-21 20:36:00 +01:00
Anton Khirnov
b3158f7a42 id3v2: make ff_id3v2_parse static
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 46a2da7698)
2011-01-21 20:36:00 +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
Anton Khirnov
9aa1bcce51 id3v2: Use 0 instead of '\0'.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:10:29 +00:00
Anton Khirnov
787f8fad00 id3v2: check for enough space to write full UTF-8 characters.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:04:40 +00:00
Michael Niedermayer
d004179e19 indent
Originally committed as revision 19292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 18:37:29 +00:00
Michael Niedermayer
3fd5a75b07 id3v2.4.0 uses syncsafe integers for sizes of frames.
Fixes issue1234
Fixes regression introduced in r19275

Originally committed as revision 19291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 18:36:49 +00:00
Michael Niedermayer
1cd4422163 Fix id3v2.2 frame size parsing.
Fixes issue1202.

Originally committed as revision 19276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:44:44 +00:00
Michael Niedermayer
47f42aec38 Fix id3v2.3/4 tag size parsing.
Fixes issue1106

Originally committed as revision 19275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:26:39 +00:00
Patrick Dehne
50fcd5be36 Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
patch by Patrick Dehne, patrick mysonicweb com

Originally committed as revision 19224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 14:03:35 +00:00
Diego Biurrun
1d4b1bf2f6 cosmetics: Prettyprint one more line to have columns line up.
Originally committed as revision 19158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 20:45:35 +00:00
Diego Biurrun
7d7b8c32c9 cosmetics: Reformat to K&R and prettyprint newly created files.
Originally committed as revision 19156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 15:35:23 +00:00
Patrick Dehne
7541118286 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
patch by Patrick Dehne, patrick mysonicweb com

Originally committed as revision 19155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 15:26:57 +00:00
Alex Converse
ac3ef4a41b Fix probing of files with ID3v2 tags. Discussed at
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/059302.html

Originally committed as revision 16688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 21:54:06 +00:00
Alex Converse
2ea512a6c2 Factorise id3v2 header parsing from mp3.c to be shared
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 16615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 12:23:03 +00:00
Clément Bœsch
049ce4facb id3v2: strdup the genre name explicitly.
It would have been done anyway in the av_dict_set() call.

This simplifies the code and avoid a warning because of assigning a
const string from ff_id3v1_genre_str to a non-const variable.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00
Clément Bœsch
ffdd2e9144 lavf/id3v2: do not export empty fields.
This also avoids a memleak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00