summaryrefslogtreecommitdiff
path: root/libavformat/id3v2.c
Commit message (Collapse)AuthorAge
* Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | id3v2: strip trailing spaces from APIC tagwm42015-06-18
| | | | | | | | | | | | | | | | | | | | | | The APIC description must be unique, and some ID3v2 tag writers add spaces to write several APIC entries with the same description. The trailing spaces simply serve as a way to disambiguate the description. Do this so that API users do not have to special-case mp3 to fix this cosmetic issue. Requested-by: wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: detect PNG by header instead of mimeMichael Niedermayer2015-06-18
| | | | | | | | | | | | | | | | the mimetype for PNG can be set to jpeg Fixes 01\ -\ Cider\ Time.mp3 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | id3v2: catch avio_read errors in check_tagAndreas Cadhalpun2015-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since len is an unsigned int, the comparison is currently treated as unsigned and thus ignores all errors from avio_read. Thus cast len to int, which is unproblematic, because at that point len is between 0 and 4. This fixes 'Conditional jump or move depends on uninitialised value' valgrind warnings in is_tag. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '379e5603f4131e677ecf5ba79973dcd5603f28ea'Michael Niedermayer2015-05-10
|\| | | | | | | | | | | | | | | | | | | | | * commit '379e5603f4131e677ecf5ba79973dcd5603f28ea': id3v2: Do not export empty APIC description Conflicts: libavformat/id3v2.c See: b697b297b77f73c932307120e32c187d521d2ff7 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: Do not export empty APIC descriptionwm42015-05-09
| | | | | | | | | | | | APIC tags always have a description. Tag writers obviously leave it empty if there is no description. In this case, libavformat would export "" as title. Do not set the title instead.
* | id3v2: do not export APIC description if emptywm42015-05-08
| | | | | | | | | | | | | | | | APIC tags always have a description. Tag writers obviously leave it empty if there is no description. In this case, libavformat would export "" as title. Do not set the title instead. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a': libavformat: Use ffio_free_dyn_buf where applicable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavformat: Use ffio_free_dyn_buf where applicableMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/id3v2: remove unused variableMichael Niedermayer2015-01-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9'Michael Niedermayer2015-01-15
|\| | | | | | | | | | | | | | | | | | | | | * commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9': id3v2: fix reading v2.2 attached pictures Conflicts: libavformat/id3v2.c See: 05c3c568dccd6c42fdf6eea891d08c71fe2ee772 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: fix reading v2.2 attached picturesAnton Khirnov2015-01-14
| | | | | | | | | | In v2.2, the picture type is not a zero-terminated string, but has a constant size of 3 bytes.
* | Merge commit '932788be5af8dee062c77851b573ea47dd6d047a'Michael Niedermayer2015-01-15
|\| | | | | | | | | | | | | | | | | | | * commit '932788be5af8dee062c77851b573ea47dd6d047a': id3v2: add names to the parameters of ID3v2EMFunc.read Conflicts: libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: add names to the parameters of ID3v2EMFunc.readAnton Khirnov2015-01-14
| | | | | | | | Some of them are not immediately obvious.
* | avformat/id3v2: Fix incompatible pointer type warningsMichael Niedermayer2015-01-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce'Michael Niedermayer2015-01-15
|\| | | | | | | | | | | | | | | | | | | * commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce': id3v2: constify the 'tag' parameter to special metadata parsing callback Conflicts: libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: constify the 'tag' parameter to special metadata parsing callbackAnton Khirnov2015-01-14
| | | | | | | | Those functions should not ever modify it.
* | avformat/id3v2: support USLT tagswm42015-01-06
| | | | | | | | | | | | | | I think this turned out pretty terrible. There's no good way to add new custom tags that write to AVFormatContext->metadata. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: Use av_freep() avoid leaving stale pointers in memoryMichael Niedermayer2014-12-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | id3v2: prefer TDRC for date over TDRL.Benoit Fouet2014-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | TDRL is what we used as a replacement of TYER, and, according to http://id3.org/id3v2.4.0-changes : TYER - Year This frame is replaced by the TDRC frame, 'Recording time' [F:4.2.5]. So change TDRL usages to TDRC. Fixes ticket #3694 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: support buggy id3v2.3 tag length in id3v2.4Benoit Fouet2014-10-17
| | | | | | | | | | | | | | | | | | Some encoders do not use syncsafe sizes in v2.4 id3 tags. Check the next tag to try to choose between the two. Fixes ticket #4003 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: silence a warning when CONFIG_ZLIB is unset.Benoit Fouet2014-10-16
| | | | | | | | | | | | | | dlen is only read when CONFIG_ZLIB is set, so mark it as possibly unused. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: Fix "warning: unused variable uncompressed_buffer_size" if ↵Michael Niedermayer2014-08-30
| | | | | | | | | | | | zlib is unavailable Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Use correct msvc type specifiers for ptrdiff_t and size_t.Carl Eugen Hoyos2014-04-24
| | | | | | | | | | | | | | The Windows runtime aborts if it finds %t or %z. Fixes ticket #3472. Reviewed-by: Ronald Bultje
* | ff_id3v2_read: add option to limit ID3 magic number searchPeter Ross2014-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Several chunked formats (AIFF, IFF,DSF) store ID3 metadata within an 'ID3 ' chunk tag. If such chunks are stored sequentially, it is possible for the ID3v2 parser to confuse the chunk tag for the ID3 magic number. e.g. [1st chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...] [2nd chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...] Fixes ticket #3530. Signed-off-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ff_id3v2_free_extra_meta: set the pointer pointing to extra_meta to NULLPeter Ross2014-04-19
| | | | | | | | | | | | | | Fixes ticket #3530. Signed-off-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: decode compilation metadataPeter Ross2014-03-15
| | | | | | | | | | | | | | Described http://id3.org/iTunes%20Compilation%20Flag Signed-off-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: allow ID3 parsing without AVFormatContextAnssi Hannula2013-12-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ff_id3v2_read_dict() for parsing without AVFormatContext, but instead with AVIOContext and AVDictionary. AVFormatContext is still used for logging, if available. Chapter parsing is the only non-logging functionality that actually needs AVFormatContext, and AFAICS it should be modified to write the data to ID3v2ExtraMeta first, from where it can be implanted to AVFormatContext by a separate function (like it is done with read_apic() and ff_id3v2_parse_apic()). That is outside the scope of this patch, though. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
* | avformat/id3v2: parse ID3 Private frames as extra metadataAnssi Hannula2013-12-31
| | | | | | | | | | | | They are used in HLS. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
* | Read pictures in id3v2.2Carl Eugen Hoyos2013-12-23
| |
* | avformat/id3v2: Check avio_read() return value in read_chapter()Michael Niedermayer2013-12-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: factor free code to the end of read_chapter()Michael Niedermayer2013-12-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vformat/id3v2: check avio_read for short reads in addition to errorsMichael Niedermayer2013-12-15
| | | | | | | | | | Found-by: ubitux Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/id3v2: Check avio_read() return code in id3v2_parse()Michael Niedermayer2013-12-15
| | | | | | | | | | | | | | Fixes use of uninitialized memory Fixes: msan_uninit-mem_7f5a04a9b50d_7087_mp3__mp3__tooSmallFinal.mp3 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | id2v2: check the return value of decode_str()Michael Niedermayer2013-06-09
| | | | | | | | | | Fixes CID1030348 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | id3v2: read all textual chapter subframesPaul B Mahol2013-06-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | id3v2: stop ignoring text encoding for chapter titlesPaul B Mahol2013-05-06
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-05-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: compat: msvc: Make sure the object files are included when linking statically id3v2: check for end of file while unescaping tags Conflicts: configure libavformat/id3v2.c Note, ffmpeg is not affected by the out of buffer write bug Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: check for end of file while unescaping tagsLuca Barbato2013-05-03
| | | | | | | | | | | | | | Prevent a serious out of buffer bound write. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-05-02
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: id3v2: K&R formatting cosmetics ppc: Only compile AltiVec FFT assembly when AltiVec is enabled Conflicts: libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: K&R formatting cosmeticsLuca Barbato2013-05-02
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'Michael Niedermayer2013-05-01
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e926b5ceb1962833f0c884a328382bc2eca67aff': avformat: Drop unnecessary ff_ name prefixes from static functions Conflicts: libavformat/audiointerleave.c libavformat/mux.c libavformat/mxfenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
| |
* | Merge commit '8d617b11cfc87b2c6056fee029ac5bc760af874a'Michael Niedermayer2013-04-04
|\| | | | | | | | | | | | | | | | | | | | | * commit '8d617b11cfc87b2c6056fee029ac5bc760af874a': id3v2: pad the APIC packets as required by lavc. dfa: check for invalid access in decode_wdlt(). Conflicts: libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * id3v2: pad the APIC packets as required by lavc.Anton Khirnov2013-04-04
| | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | id3v2: allocate large enough bufferMichael Niedermayer2013-03-29
| | | | | | | | | | | | | | Fixes array overread Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'Michael Niedermayer2013-03-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1afddbe59e96af75f1c07605afc95615569f388f': avpacket: use AVBuffer to allow refcounting the packets. Conflicts: libavcodec/avpacket.c libavcodec/utils.c libavdevice/v4l2.c libavformat/avidec.c libavformat/flacdec.c libavformat/id3v2.c libavformat/matroskaenc.c libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avpacket: use AVBuffer to allow refcounting the packets.Anton Khirnov2013-03-08
| | | | | | | | | | | | This will allow us to avoid copying the packets in many cases. This breaks ABI.
* | lavf/id3v2: seek back to previous offset if header size is not matchedMatthieu Bouron2013-01-20
| | | | | | | | | | | | | | | | | | | | | | | | Makes ff_id3v2_read reset stream position at the end of ID3 data if the header size is not matched (caused by an EOF for example). Current behaviour (without the patch): filesize = 400 id3 data size = 399 file offset after ff_id3v2_read is 400 instead of 399 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>