summaryrefslogtreecommitdiffstats
path: root/libavformat/id3v2.c
Commit message (Collapse)AuthorAgeFilesLines
* id3v2: reject APICs with size of 0Piotr Bandurski2012-05-201-1/+1
| | | | | | fixes ticket #1324 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavf/id3v2: always strdup the value.Clément Bœsch2012-05-191-7/+4
| | | | | | This simplifies the code but also fix a warning: ff_id3v1_genre_str array contains const strings so do the string dup now instead of in av_dict_set().
* lavf/id3v2: do not export empty fields.Clément Bœsch2012-05-191-0/+2
| | | | This also avoids a memleak.
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-021-9/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vsrc_buffer: allow buffering arbitrary number of frames. vf_scale: avoid a pointless memcpy in no-op conversion. avfiltergraph: try to reduce format conversions in filters. avfiltergraph: add an AVClass to AVFilterGraph on next major bump. id3v2: fix skipping extended header in id3v2.4 Conflicts: libavfilter/vf_scale.c libavfilter/vsrc_buffer.c libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: fix skipping extended header in id3v2.4Anton Khirnov2012-04-011-2/+11
| | | | | | | | In v2.4, the length includes the length field itself.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-301-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mp3dec: perform I/S and M/S only when frame mode is joint stereo. id3v2: add another mimetype for JPEG image lzw: prevent buffer overreads. WMAL: Remove inaccurate and unnecessary doxy h264: fix cabac-on-stack after safe cabac reader. truemotion2: convert packet header reading to bytestream2. Conflicts: libavcodec/lzw.c libavcodec/truemotion2.c libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: add another mimetype for JPEG imageKostya Shishkov2012-03-291-0/+1
| |
* | id3v2: support JPEG APIC with incorrect (image/jpg) MIME typePiotr Bandurski2012-03-281-0/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-211-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) avconv: free packet in write_frame() when discarding due to frame number limit FATE: use +/- flag option syntax for vp8 emu-edge tests lavf: make av_interleave_packet_per_dts() private. lavf: deprecate av_read_packet(). oggdec: output correct timestamps for Vorbis avconv: pass input stream timestamps to audio encoders lavc: shrink encoded audio packet size after encoding. xa: set correct bit rate xa: do not set bit_rate, block_align, or bits_per_coded_sample xa: fix end-of-file handling xa: fix timestamp calculation bink: fix typo in FFALIGN() argument bink: align plane width to 8 when calculating bundle sizes doc: pass -Idoc texi2html and texi2pod doc: texi2pod: add -I flag movenc: Add a min_frag_duration option rtsp: Set the default delay to 0.1 s for the RTSP/SDP/RTP demuxers libavformat: Set the default for the max_delay option to -1 Generate manpages for AV{Format,Codec}Context AVOptions. doc/avconv: remove entries for AVOptions. ... Conflicts: doc/Makefile doc/ffmpeg.texi doc/muxers.texi ffmpeg.c libavcodec/Makefile libavcodec/options.c libavcodec/vp8.c libavformat/options.c tests/fate/demux.mak tests/ref/fate/truemotion1-15 tests/ref/fate/truemotion1-24 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: set the keyframe flag on attached pictures.Anton Khirnov2012-03-201-0/+1
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-011-6/+147
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (58 commits) amrnbdec: check frame size before decoding. cscd: use negative error values to indicate decode_init() failures. h264: prevent overreads in intra PCM decoding. FATE: do not decode audio in the nuv test. dxa: set audio stream time base using the sample rate psx-str: do not allow seeking by bytes asfdec: Do not set AVCodecContext.frame_size vqf: set packet parameters after av_new_packet() mpegaudiodec: use DSPUtil.butterflies_float(). FATE: add mp3 test for sample that exhibited false overreads fate: add cdxl test for bit line plane arrangement vmnc: return error on decode_init() failure. libvorbis: add/update error messages libvorbis: use AVFifoBuffer for output packet buffer libvorbis: remove unneeded e_o_s check libvorbis: check return values for functions that can return errors libvorbis: use float input instead of s16 libvorbis: do not flush libvorbis analysis if dsp state was not initialized libvorbis: use VBR by default, with default quality of 3 libvorbis: fix use of minrate/maxrate AVOptions ... Conflicts: Changelog doc/APIchanges libavcodec/avcodec.h libavcodec/dpxenc.c libavcodec/libvorbis.c libavcodec/vmnc.c libavformat/asfdec.c libavformat/id3v2enc.c libavformat/internal.h libavformat/mp3enc.c libavformat/utils.c libavformat/version.h libswscale/utils.c tests/fate/video.mak tests/ref/fate/nuv tests/ref/fate/prores-alpha tests/ref/lavf/ffm tests/ref/vsynth1/prores tests/ref/vsynth2/prores Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: remove unused ff_id3v2_read().Anton Khirnov2012-02-291-6/+1
| | | | | | | | Rename ff_id3v2_read_all to ff_id3v2_read().
| * lavf: export id3v2 attached pictures as streams.Anton Khirnov2012-02-291-0/+34
| |
| * id3v2: read attached pictures and export them in ID3v2ExtraMeta.Anton Khirnov2012-02-291-0/+112
| |
* | id3v2: fix compiler warning for uninitialized variablesJean First2011-12-311-1/+1
| | | | | | | | | | Signed-off-by: Jean First <jeanfirst@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | id3v2: fix variable type for uncompress()Michael Niedermayer2011-12-261-3/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Process compressed id3v2 tags.Adrian Drzewiecki2011-12-261-9/+62
| | | | | | | | | | | | | | ID3v2.4 allows for zlib compressed tags, but libavformat skips them. Implement code to inflate compressed tags. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-121-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: cabac: replace explicit memory references with "m" operands avplay: don't request a stereo downmix wmapro: use av_float2int() lavc: avoid invalid memcpy() in avcodec_default_release_buffer() lavu: replace int/float punning functions lavfi: install libavfilter/vsrc_buffer.h Remove extraneous semicolons sdp: Restore the original mp4 format h264 extradata if converted rtpenc: Add support for mp4 format h264 rtpenc: Simplify code by introducing a separate end pointer movenc: Use the actual converted sample for RTP hinting Fix a bunch of common typos. Conflicts: doc/developer.texi doc/eval.texi doc/filters.texi doc/protocols.texi ffmpeg.c ffplay.c libavcodec/mpegvideo.h libavcodec/x86/cabac.h libavfilter/Makefile libavformat/avformat.h libavformat/cafdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/gxfenc.c libavformat/img2.c libavformat/movenc.c libavformat/mpegts.c libavformat/rtpenc_h264.c libavformat/utils.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Fix a bunch of common typos.Diego Biurrun2011-12-111-1/+1
| |
* | id3v2: Fix null ptr crash in get_extra_meta_func()Michael Niedermayer2011-12-031-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix id3v2 extended header handling.Adrian Drzewiecki2011-12-011-2/+16
| | | | | | | | | | | | | | | | When skipping over the extended header, take into account that the size field has already been read. The extended header also takes up space, so adjust total header length accordingly. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-031-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-021-2/+3
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-141-72/+78
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-131-8/+14
| |
| * id3v2: cosmetics: move some declarations before the places they are usedDiego Biurrun2011-10-131-65/+65
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-121-6/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-111-6/+6
| | | | | | | | Bug found by Laurent Aimar fenrir at videolan org
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-041-35/+37
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-031-3/+3
| |
| * id3v2: read TXXX frames with two calls to decode_str() instead of one.Anton Khirnov2011-10-031-32/+28
| | | | | | | | | | | | | | 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-031-1/+7
| | | | | | | | | | 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-251-2/+3
| | | | | | | | | | 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-251-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-211-37/+233
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-211-37/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-14/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-081-14/+14
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-05-271-2/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-261-1/+6
| |
| * id3v2: Initialize tflags for version 2.2.Alex Converse2011-05-261-1/+1
| |
* | id3v2: prevent unsigned integer overflow in ff_id3v2_parse()Stefano Sabatini2011-05-181-0/+2
| | | | | | | | | | | | | | 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-181-1/+8
| |
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-231-12/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-221-4/+4
| | | | | | | | fixes issue2649.
| * id3v2: don't explicitly skip paddingAnton Khirnov2011-03-221-4/+0
| | | | | | | | It's pointless, since there's a seek to the end of tag later.
| * id3v2: simplify error handling.Anton Khirnov2011-03-211-6/+4
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * id3v2: explicitly seek to the end of the tag after readingAnton Khirnov2011-03-211-2/+3
| | | | | | | | | | | | | | | | 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-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-171-5/+52
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: Changelog doc/APIchanges doc/optimization.txt libavformat/avio.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud