summaryrefslogtreecommitdiff
path: root/libavformat/id3v2.c
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-03
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (44 commits) replacement Indeo 3 decoder gsm demuxer: do not allocate packet twice. flvenc: use first packet delay as global delay. ac3enc: doxygen update. imc: return error codes instead of 0 for error conditions. imc: return meaningful error codes instead of -1 imc: do not set channel layout for stereo imc: validate channel count imc: check for ff_fft_init() failure imc: check output buffer size before decoding imc: use DSPContext.bswap16_buf() to byte-swap packet data rtsp: add allowed_media_types option libgsm: add flush function to reset the decoder state when seeking libgsm: simplify decoding by using a loop gsm: log error message when packet is too small libgsmdec: do not needlessly set *data_size to 0 gsmdec: do not needlessly set *data_size to 0 gsmdec: add flush function to reset the decoder state when seeking libgsmdec: check output buffer size before decoding gsmdec: log error message when output buffer is too small. ... Conflicts: Changelog ffplay.c libavcodec/indeo3.c libavcodec/mjpeg_parser.c libavcodec/vp3.c libavformat/cutils.c libavformat/id3v2.c libavutil/parseutils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: fix type of ID3v2EMFunc.free()Anton Khirnov2011-11-02
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) prores: add FATE tests id3v2: reduce the scope of some non-globally-used symbols/structures id3v2: cosmetics: move some declarations before the places they are used shorten: remove the flush function. shn: do not allow seeking in the raw shn demuxer. avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK. avformat: update AVInputFormat allowed flags avformat: don't unconditionally call ff_read_frame_flush() when trying to seek. truespeech: use sizeof() instead of hardcoded sizes truespeech: remove unneeded variable, 'consumed' truespeech: simplify truespeech_read_frame() by using get_bits() truespeech: decode directly to output buffer instead of a temp buffer truespeech: check to make sure channels == 1 truespeech: check for large enough output buffer rather than truncating output truespeech: remove unneeded zero-size packet check. mlpdec: return meaningful error codes instead of -1 mlpdec: remove unnecessary wrapper function mlpdec: only calculate output size once mlpdec: validate that the reported channel count matches the actual output channel count pcm: reduce pointer type casting ... Conflicts: libavformat/avformat.h libavformat/id3v2.c libavformat/id3v2.h libavformat/utils.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: reduce the scope of some non-globally-used symbols/structuresDiego Biurrun2011-10-13
| |
| * id3v2: cosmetics: move some declarations before the places they are usedDiego Biurrun2011-10-13
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) fix AC3ENC_OPT_MODE_ON/OFF h264: fix HRD parameters parsing prores: implement multithreading. prores: idct sse2/sse4 optimizations. swscale: use aligned move for storage into temporary buffer. prores: extract idct into its own dspcontext and merge with put_pixels. h264: fix invalid shifts in init_cavlc_level_tab() intfloat_readwrite: fix signed addition overflows mov: do not misreport empty stts mov: cosmetics, fix for and if spacing id3v2: fix NULL pointer dereference mov: read album_artist atom mov: fix disc/track numbers and totals doc: fix references to obsolete presets directories for avconv/ffmpeg flashsv: return more meaningful error value flashsv: fix typo in av_log() message smacker: validate channels and sample format. smacker: check buffer size before reading output size smacker: validate number of channels smacker: Separate audio flags from sample rates in smacker demuxer. ... Conflicts: cmdutils.h doc/ffmpeg.texi libavcodec/Makefile libavcodec/motion_est_template.c libavformat/id3v2.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: fix NULL pointer dereferenceAnton Khirnov2011-10-11
| | | | | | | | Bug found by Laurent Aimar fenrir at videolan org
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: id3v2: remove pointless casts id3v2: read TXXX frames with two calls to decode_str() instead of one. id3v2: don't discard the whole tag when encountering empty frames. libvpx: fix build with older libvpx versions. ARM: check for inline asm 'y' operand modifier support Conflicts: libavcodec/libvpxenc.c libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: remove pointless castsAnton Khirnov2011-10-03
| |
| * id3v2: read TXXX frames with two calls to decode_str() instead of one.Anton Khirnov2011-10-03
| | | | | | | | | | | | | | 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.
| * id3v2: don't discard the whole tag when encountering empty frames.Anton Khirnov2011-10-03
| | | | | | | | | | While they're technically invalid, it's better to skip them and try to read the rest of the tag.
* | id3v2: Fix some (function) pointer types.Reimar Döffinger2011-09-25
| | | | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fixed NULL pointer dereference in id3v2 parser.Laurent Aimar2011-09-25
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swfdec: Add support for sample_rate_code 0 (5512 Hz) dct-test: factor out some common code and do whas was likely intended doc: library versions need to be bumped in version.h Revert "ffmpeg: get rid of useless AVInputStream.nb_streams." Remove some forgotten AVCodecContext.palctrl usage. lavc/utils: move avcodec_init() higher in the file. lavc: replace some deprecated FF_*_TYPE with AV_PICTURE_TYPE_* ac3dec: actually use drc_scale private option lavc: undeprecate AVPALETTE_SIZE and AVPALETTE_COUNT macros alsa: add missing header msmpeg4: remove leftover unused debug variable declaration Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination. Fix av_dlog invocations with wrong or missing logging context. vf_yadif: add support to yuva420p vf_yadif: correct documentation on the parity parameter vf_yadif: copy buffer properties like aspect for second frame as well oma: support for encrypted files id3v2: add support for non-text and GEOB type tag frames des: add possibility to calculate DES-CBC-MAC with small buffer Conflicts: ffmpeg.c libavcodec/dct-test.c libavformat/mpegts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: add support for non-text and GEOB type tag framesDavid Goldwich2011-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: crypto: Use av_freep instead of av_free lavf: don't try to free private options if priv_data is NULL. swscale: fix types of assembly arguments. swscale: move two macros that are only used once into caller. swscale: remove unused function. options: Add missing braces around struct initializer. mov: Remove leftover crufty debug statement with references to a local file. dvbsubdec: Fix compilation of debug code. Remove all uses of now deprecated metadata functions. Move metadata API from lavf to lavu. Conflicts: doc/APIchanges libavformat/aiffdec.c libavformat/asfdec.c libavformat/avformat.h libavformat/avidec.c libavformat/cafdec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/mp3enc.c libavformat/wtv.c libavutil/avutil.h libavutil/internal.h libswscale/swscale.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-05-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) ARM: disable ff_vector_fmul_vfp on VFPv3 systems ARM: check for VFPv3 swscale: Remove unused variables in x86 code. doc: Drop DJGPP section, Libav now compiles out-of-the-box on FreeDOS. x86: Add appropriate ifdefs around certain AVX functions. cmdutils: use sws_freeContext() instead of av_freep(). swscale: delay allocation of formatConvBuffer(). swscale: fix build with --disable-swscale-alpha. movenc: Deprecate the global RTP hinting flag, use a private AVOption instead movenc: Add an AVClass for setting muxer specific options swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions. configure: report yasm/nasm presence properly tcp: make connect() timeout properly rawdec: factor video demuxer definitions into a macro. rtspdec: add initial_pause private option. lavf: deprecate AVFormatParameters.width/height. tty: add video_size private option. rawdec: add video_size private option. x11grab: add video_size private option. x11grab: factorize returning error codes. ... Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: Check malloc result. ID3v2 tags can be very large.Alex Converse2011-05-26
| |
| * id3v2: Initialize tflags for version 2.2.Alex Converse2011-05-26
| |
* | id3v2: prevent unsigned integer overflow in ff_id3v2_parse()Stefano Sabatini2011-05-18
| | | | | | | | | | | | | | In ff_id3v2_parse(), prevent unsigned integer overflow if data length indicator is skipped and tlen is < 4. Fix crash decoding file Allaby_cut.mp3, fix trac issue #182.
* | id3v2: add @file doxy and link to format documentationStefano Sabatini2011-05-18
| |
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * newdev/master: (33 commits) Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size. Add kbdwin.o to AC3 decoder Detect byte-swapped AC-3 and support decoding it directly. cosmetics: indentation Always copy input data for AC3 decoder. ac3enc: make sym_quant() branch-free cosmetics: indentation Add a CPU flag for the Atom processor. id3v2: skip broken tags with invalid size id3v2: don't explicitly skip padding Make sure kbhit() is in conio.h fate: update wmv8-drm reference vc1: make P-frame deblock filter bit-exact. configure: Add the -D parameter to the dlltool command amr: Set the AVFMT_GENERIC_INDEX flag amr: Set the pkt->pos field properly to the start of the packet amr: Set the codec->bit_rate field based on the last packet rtsp: Specify unicast for TCP interleaved streams, too Set the correct target for mingw64 dlltool applehttp: Change the variable for stream position in seconds into int64_t ... Conflicts: ffmpeg.c ffplay.c libavcodec/ac3dec.c libavformat/avio.h libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: skip broken tags with invalid sizeAnton Khirnov2011-03-22
| | | | | | | | fixes issue2649.
| * id3v2: don't explicitly skip paddingAnton Khirnov2011-03-22
| | | | | | | | It's pointless, since there's a seek to the end of tag later.
| * id3v2: simplify error handling.Anton Khirnov2011-03-21
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * id3v2: explicitly seek to the end of the tag after readingAnton Khirnov2011-03-21
| | | | | | | | | | | | | | | | Current code might stop in the middle of an invalid tag. fixes issue2650 Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-17
|\| | | | | | | | | | | | | | | | | | | Conflicts: Changelog doc/APIchanges doc/optimization.txt libavformat/avio.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes senseAnton Khirnov2011-03-16
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * id3v2: merge TYER/TDAT/TIME to date tagAnton Khirnov2011-03-15
| |
| * id3v2: fix typo in error messageAnton Khirnov2011-03-09
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * lavf: replace all uses of url_fskip with avio_seekAnton Khirnov2011-03-01
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * avio: avio_ prefix for url_fseekAnton Khirnov2011-03-01
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * avio: avio_ prefixes for get_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * avio: move init_put_byte() to a new private header and rename itAnton Khirnov2011-02-20
| | | | | | | | | | | | | | 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>
| * avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * id3v2: split tables for various ID3v2 versionsAnton Khirnov2011-01-22
| | | | | | | | | | | | This is needed for upcoming ID3v2.3 muxing support. Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
| * id3v2: use an enum for encodings instead of magic numbers.Anton Khirnov2011-01-21
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * id3v2: don't overwrite existing tagsAnton Khirnov2011-01-20
| | | | | | | | | | | | | | | | | | | | 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>
| * id3v2: convert metadata after all the tags were readAnton Khirnov2011-01-20
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * id3v2: make ff_id3v2_parse staticAnton Khirnov2011-01-20
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | id3v2: fix typo in error messageAnton Khirnov2011-03-09
| | | | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit fb61a7c5343a23d845ab73dd28caf6ec98cd6101)
* | Do not loop endlessly if id3v2 tag size is negative / too large.Carl Eugen Hoyos2011-03-07
| | | | | | | | Fixes the sample from issue 2649.
* | avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-05
| | | | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit a2704c9712ad35cc22e7e0d8a79b581c07fa383b)
* | lavf: replace all uses of url_fskip with avio_seekAnton Khirnov2011-03-03
| | | | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit e356fc57a2e9887370caec58d8aafeafd1f336dc)
* | avio: avio_ prefix for url_fseekAnton Khirnov2011-03-03
| | | | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit 6b4aa5dac8f41aa452d0ce9a1bede9e59a303060)
* | avio: avio_ prefixes for get_* functionsAnton Khirnov2011-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 b7effd4e8338f6ed5bda630ad7ed0809bf458648)
* | avio: move init_put_byte() to a new private header and rename itAnton Khirnov2011-02-20
| | | | | | | | | | | | | | | | 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 e731b8d8729e75bfb69f5540e6446d6118dac549)