summaryrefslogtreecommitdiff
path: root/libavformat/matroskadec.c
Commit message (Collapse)AuthorAge
* matroskadec: fix integer underflow if header length < probe length.Chris Evans2011-07-19
| | | | | | This fixes a crash with specifically crafted files. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* matroskadec: fix stupid typo (!= -> ==)Anton Khirnov2011-07-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* matroskadec: reindentAnton Khirnov2011-07-10
|
* matroskadec: defer parsing of cues element until we seek.Aaron Colwell2011-07-10
| | | | | | | This decreases startup latency. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* matroskadec: matroska_read_seek after after EBML_STOP leads to failure.John Stebbins2011-07-01
| | | | | | | | | EBML_STOP leaves matroska->current_id set. Then matroska_read_seek changes the stream position without resetting current_id. The next matroska_parse_cluster fails due to calculation of incorrect pos. So clear current_id when avio_seek happens in matroska_read_seek. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* matroskadec: forward parsing errors to caller.Ami Fischman2011-06-29
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* matroskadec: set timestamps for RealAudio packets.Reimar Döffinger2011-06-09
| | | | | | | Improves seeking in ffplay with http://samples.mplayerhq.hu/Matroska/RA_missing_timestamps.mkv Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
|
* matroskadec: check that pointers were initialized before accessing themAurelien Jacobs2011-05-12
| | | | | Signed-off-by: Aurelien Jacobs <aurel@gnuage.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* handle malloc failures in ff_get_wav_headerMax Horn2011-04-14
| | | | | | | | | | | ff_get_wav_header is reading data from a WAVE file and then uses it (without validation) to malloc a buffer. It then proceeded to read data into the buffer, without verifying that the allocation succeeded. To address this, change ff_get_wav_header to return an error if allocation failed, and adapted all calling code to handle that error. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* avio: introduce an AVIOContext.seekable fieldAnton Khirnov2011-04-03
| | | | Use it instead of url_is_streamed and AVIOContext.is_streamed.
* matroskadec: set default duration for simple blockJohn Stebbins2011-03-25
| | | | | | | | | | | When a normal Block is parsed, duration is initialized to AV_NOPTS_VALUE. If it is not changed, then the track's default duration is used. But for SimpleBlock, duration is initialized to 0 instead of AV_NOPTS_VALUE. This is due to the difference in how EBML_NEST vs EBML_PASS are processed. Setting duration to 0 leads eventually to wrongly estimate the frame duration in util.c Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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>
* avio: deprecate url_feofAnton Khirnov2011-03-07
| | | | | | AVIOContext.eof_reached should be used directly instead. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.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: avio_ prefixes for put_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | In the name of consistency: put_byte -> avio_w8 put_<type> -> avio_w<type> put_buffer -> avio_write put_nbyte will be made private put_tag will be merged with avio_put_str 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>
* matroskadec: add generic element length validation.Reimar Döffinger2011-02-06
| | | | | | | | | | | | This validate the length of a mkv element directly after reading it. This has the advantage that it is easy to add new limits and makes it less likely to forget to add checks and also avoids issues like bits of the length value above the first 32 being ignored because the parsing functions only takes an int. Previously discussed in the "mkv 0-byte integer parsing" thread. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | This also lists the objects from those two libraries as internal (by adding the ff_ prefix) so that they can then be hidden via linker scripts.
* matroskadec: skip invalid tags with no TagNameAnton Khirnov2010-11-03
| | | | | | fixes segfault in issue 2328 Originally committed as revision 25659 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add ff_ prefix to metadata_conv()Anton Khirnov2010-10-16
| | | | | | patch by Anton Khirnov anton _at_ khirnov _dot_ net Originally committed as revision 25505 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Export metadata in the generic format. Deprecate old conversion API.Anton Khirnov2010-10-15
| | | | | | patch by Anton Khirnov anton _at_ khirnov _dot_ net Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a special function to mkv demxuer to parse length values that includesReimar Döffinger2010-09-06
| | | | | | special-case code to handle all possible encodings of "unknown length". Originally committed as revision 25049 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: allow uint and float elements with length = 0Aurelien Jacobs2010-09-05
| | | | Originally committed as revision 25044 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Optimize/simplify ebml_read_num.Reimar Döffinger2010-09-02
| | | | Originally committed as revision 25026 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: minor simplificationAurelien Jacobs2010-08-17
| | | | | | patch from reimar Originally committed as revision 24804 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: fix integer overflowAurelien Jacobs2010-08-17
| | | | | | patch from reimar Originally committed as revision 24803 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add WebM to the Matroska demuxer name.Alex Converse2010-08-01
| | | | Originally committed as revision 24639 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: merge only SSA packets togetherDavid Conrad2010-07-02
| | | | | | | fixes issue 2052 patch by David Conrad Originally committed as revision 24004 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add AV_DISPOSITION_FORCED flag and use it in matroska demuxerAurelien Jacobs2010-07-02
| | | | Originally committed as revision 24003 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec : propagate AVERROR to the callerAurelien Jacobs2010-06-15
| | | | | | based on a patch by Jai Menon Originally committed as revision 23619 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: fix type of the length field in ebml_read_master()Aurelien Jacobs2010-06-11
| | | | | | | Also use the correct value for unknown size (instead of a truncated and sign extended value). Originally committed as revision 23591 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: cosmetic: indentationAurelien Jacobs2010-06-11
| | | | Originally committed as revision 23590 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: add support for live broadcast containing unknown size clustersAurelien Jacobs2010-06-11
| | | | | | | | | This interrupt parsing and goes one ebml level up when encountering a cluster start inside an unknown sized element which is not supposed to contain a cluster. fix issue1991 Originally committed as revision 23589 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: simplify parsing of the first clusterAurelien Jacobs2010-06-11
| | | | | | | Now that we save the currently parsed ebml element ID after an interruption, we don't need to special case the parsing of the first cluster. Originally committed as revision 23588 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: store the ID of the currently parsed ebml elementAurelien Jacobs2010-06-11
| | | | | | | This allows to interrupt parsing after reading an ID, and then properly recover parsing. Originally committed as revision 23587 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: cosmetic: split a line to make it more readableAurelien Jacobs2010-06-11
| | | | | | This also simplifies further modifications. Originally committed as revision 23586 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not attempt to seek to index for streamed files and if the user explicitlyReimar Döffinger2010-06-08
| | | | | | requested us not to read the index. Originally committed as revision 23540 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix the MATROSKA_ID_TAGDEFAULT to match the specification (instead ofReimar Döffinger2010-06-08
| | | | | | libmatroska etc. typo) but continue to support the "old" value. Originally committed as revision 23539 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: avoid potential crash after r23169Aurelien Jacobs2010-05-25
| | | | Originally committed as revision 23330 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: Revert adding the doctype to metadata; it has no meaning elsewhereDavid Conrad2010-05-23
| | | | Originally committed as revision 23275 to svn://svn.ffmpeg.org/ffmpeg/trunk
* matroskadec: Allow unknown EBML doctypeDavid Conrad2010-05-22
| | | | Originally committed as revision 23246 to svn://svn.ffmpeg.org/ffmpeg/trunk