1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

391 Commits

Author SHA1 Message Date
Ronald S. Bultje
d31fb1a9e7 matroskadec: empty blocks are in fact valid. 2011-11-05 06:59:27 -07:00
Anton Khirnov
a2faa95151 lavf: make some seeking functions private
Specifically av_update_cur_dts(), av_seek_frame_binary() and
av_gen_search().

They are not supposed to be called outside lavf.
2011-10-28 09:23:24 +02:00
Anton Khirnov
59a9a23581 lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov
1fa395e471 lavf: use avpriv_ prefix for ff_new_chapter().
It's used in libavdevice.
2011-10-20 20:57:23 +02:00
Anton Khirnov
3b3bbdd3e6 lavf,lavd: replace av_new_stream->avformat_new_stream part I.
Trivial replacements with sed are done in this commit:
sed 's/av_new_stream(\([^)]*\), 0)/avformat_new_stream(\1, NULL)/'
2011-10-19 17:02:11 +02:00
Ronald S. Bultje
723229c11f matroskadec: fix out of bounds write
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Michael Niedermayer
77d2ef13a8 Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
Whitespace of the patch cleaned up by Aurel
Some of the issues have been reported by Steve Manzuik / Microsoft Vulnerability Research (MSVR)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit 956c901c68)

Further suggestions from Kostya <kostya.shishkov@gmail.com> have been
implemented by Reinhard Tartler <siretart@tauware.de>

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-09-27 23:14:05 +02:00
Anton Khirnov
98cfe22b5c matroskadec: export mimetype of attachments as metadata. 2011-09-27 15:26:36 +02:00
Dustin Brody
d7d2f0e63c matroskadec: fix typo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-15 09:34:38 +02:00
Dustin Brody
4a9628f276 matroskadec: bail on parsing of incorrect seek index segments
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-15 09:34:16 +02:00
Chris Evans
69619a13c3 matroskadec: fix integer underflow if header length < probe length.
This fixes a crash with specifically crafted files.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-19 18:06:06 -07:00
Anton Khirnov
dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Anton Khirnov
fdb94444be matroskadec: fix stupid typo (!= -> ==)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 22:04:03 +01:00
Anton Khirnov
f47ac3c6ca matroskadec: reindent 2011-07-10 18:51:30 +02:00
Aaron Colwell
31ad14c21e matroskadec: defer parsing of cues element until we seek.
This decreases startup latency.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-10 18:51:30 +02:00
John Stebbins
cdc2c1c576 matroskadec: matroska_read_seek after after EBML_STOP leads to failure.
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>
2011-07-01 08:59:26 -07:00
Ami Fischman
5dd514af93 matroskadec: forward parsing errors to caller.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-29 15:27:55 -07:00
Reimar Döffinger
4654420410 matroskadec: set timestamps for RealAudio packets.
Improves seeking in ffplay with
http://samples.mplayerhq.hu/Matroska/RA_missing_timestamps.mkv

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-09 22:53:17 +02:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Aurelien Jacobs
9c569ef712 matroskadec: check that pointers were initialized before accessing them
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:28 +02:00
Stefano Sabatini
59d96941f0 avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
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.
2011-04-19 19:47:58 +02:00
Max Horn
ca402f32e3 handle malloc failures in ff_get_wav_header
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>
2011-04-14 13:56:09 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Anton Khirnov
8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
John Stebbins
98a7d560b4 matroskadec: set default duration for simple block
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>
2011-03-25 00:34:18 +01: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
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
66e5b1df36 avio: deprecate url_feof
AVIOContext.eof_reached should be used directly instead.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 17:20:31 -05: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
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
77eb5504d3 avio: avio: avio_ prefixes for put_* functions
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>
2011-02-21 14:25:15 -05: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
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
Reimar Döffinger
95ec3d4cac matroskadec: add generic element length validation.
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>
2011-02-06 21:36:53 -05:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
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.
2011-01-26 22:10:09 +00:00
Anton Khirnov
bf800c7db8 matroskadec: skip invalid tags with no TagName
fixes segfault in issue 2328

Originally committed as revision 25659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 06:29:04 +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
1b4d327b1c Add a special function to mkv demxuer to parse length values that includes
special-case code to handle all possible encodings of "unknown length".

Originally committed as revision 25049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 17:51:44 +00:00
Aurelien Jacobs
4a194c8f47 matroskadec: allow uint and float elements with length = 0
Originally committed as revision 25044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-05 21:37:40 +00:00
Reimar Döffinger
ff6a5fc1f0 Optimize/simplify ebml_read_num.
Originally committed as revision 25026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-02 19:17:46 +00:00
Aurelien Jacobs
e110e968fe matroskadec: minor simplification
patch from reimar

Originally committed as revision 24804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:25:14 +00:00
Aurelien Jacobs
4f90688b6e matroskadec: fix integer overflow
patch from reimar

Originally committed as revision 24803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:05:23 +00:00
Alex Converse
f7cf0f3148 Add WebM to the Matroska demuxer name.
Originally committed as revision 24639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 00:30:37 +00:00
David Conrad
41c1ccc332 matroskadec: merge only SSA packets together
fixes issue 2052
patch by David Conrad

Originally committed as revision 24004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 16:41:38 +00:00
Aurelien Jacobs
7a617a8634 add AV_DISPOSITION_FORCED flag and use it in matroska demuxer
Originally committed as revision 24003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 16:38:44 +00:00
Aurelien Jacobs
0ade7bb6e9 matroskadec : propagate AVERROR to the caller
based on a patch by Jai Menon

Originally committed as revision 23619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 19:53:15 +00:00
Aurelien Jacobs
bddd1d93e5 matroskadec: fix type of the length field in ebml_read_master()
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
2010-06-11 17:16:43 +00:00
Aurelien Jacobs
739178107c matroskadec: cosmetic: indentation
Originally committed as revision 23590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:45:38 +00:00
Aurelien Jacobs
8dbe48fccb matroskadec: add support for live broadcast containing unknown size clusters
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
2010-06-11 16:43:47 +00:00
Aurelien Jacobs
80702035d2 matroskadec: simplify parsing of the first cluster
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
2010-06-11 16:36:51 +00:00
Aurelien Jacobs
c3ade62ca3 matroskadec: store the ID of the currently parsed ebml element
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
2010-06-11 16:34:01 +00:00
Aurelien Jacobs
6c58adf3b7 matroskadec: cosmetic: split a line to make it more readable
This also simplifies further modifications.

Originally committed as revision 23586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:27:30 +00:00
Reimar Döffinger
120a083fb7 Do not attempt to seek to index for streamed files and if the user explicitly
requested us not to read the index.

Originally committed as revision 23540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:31:08 +00:00
Reimar Döffinger
c31f00ed63 Fix the MATROSKA_ID_TAGDEFAULT to match the specification (instead of
libmatroska etc. typo) but continue to support the "old" value.

Originally committed as revision 23539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:28:22 +00:00
Aurelien Jacobs
37dd235658 matroskadec: avoid potential crash after r23169
Originally committed as revision 23330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 22:55:12 +00:00
David Conrad
8daed34e48 matroskadec: Revert adding the doctype to metadata; it has no meaning elsewhere
Originally committed as revision 23275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 22:20:04 +00:00
David Conrad
c7b913c8ad matroskadec: Allow unknown EBML doctype
Originally committed as revision 23246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:35 +00:00
James Zern
470491faed matroskadec: Support webm doctype
Patch by James Zern <jzern at google>

Originally committed as revision 23245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:32 +00:00
David Conrad
5549aa6d0d matroskadec: Free ebml binary buffer on error
Based on a Chromium patch

Originally committed as revision 23169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:37 +00:00
David Conrad
465c28b6b4 matroskadec: Fix buffer overread in matroska_ebmlnum_uint
Based on a Chromium patch

Originally committed as revision 23168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:32 +00:00
David Conrad
d98bd80ed3 matroskadec: Ensure time_scale is nonzero, fixes divide-by-zero if the file
has 0 written

Based on a Chromium patch

Originally committed as revision 23167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:28 +00:00
David Conrad
1c664b239c matroskadec: Use av_freep in ebml_read_ascii
Based on a Chromium patch

Originally committed as revision 23166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:23 +00:00
Baptiste Coudurier
1095d44258 set avg frame rate in mkv demuxer
Originally committed as revision 23152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-17 18:12:58 +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
Baptiste Coudurier
f7501a71a1 seems aac gets screwed up by the parser so disable it
Originally committed as revision 22926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:23:49 +00:00
Baptiste Coudurier
dc1c26dc8e parse stream headers for audio streams in mkv, needed for frame size
Originally committed as revision 22925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:19:27 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
9a2cb05ff9 Move the internal function declarations in avformat.h to internal.h.
Originally committed as revision 22843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:44:23 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Aurelien Jacobs
e536ccd653 matroskadec: use more appropriate error code
Originally committed as revision 22535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 00:19:22 +00:00
Aurelien Jacobs
6b10228a55 matroskadec: add support for SIPR audio tracks
Originally committed as revision 22492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:49:06 +00:00
David Conrad
e48f7ff3cb matroskadec: Fix a buffer overread
Originally committed as revision 22271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:30 +00:00
Aurelien Jacobs
68b0fd7c68 matroskadec: cosmetic indentation
Originally committed as revision 22185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:49:24 +00:00
Joakim Plate
3e93c8ed14 matroskadec: timestamps are dts and not pts in ms vfw compatibility mode
original patch by elupus _at_ ecce _dot_ se

Originally committed as revision 22184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:46:43 +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
David Conrad
18ca491bf1 mkvdec: Avoid divide-by-zero crash on invalid real audio tracks
Originally committed as revision 21129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:55 +00:00
Aurelien Jacobs
553e9f7529 matroskadec: cosmetics: indentation
Originally committed as revision 20133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:15:36 +00:00
Aurelien Jacobs
ff0d5a745e matroskadec: don't overwrite extradata already read by ff_get_wav_header()
Originally committed as revision 20132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:46 +00:00
Aurelien Jacobs
038146e9cf matroskadec: fix handling of A_MS/ACM track with no extradata
Originally committed as revision 20131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:05 +00:00
Aurelien Jacobs
429eeecd5a matroskadec: add correct extradata offset for V_MS/VFW/FOURCC tracks
Originally committed as revision 19694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:43:33 +00:00
Aurelien Jacobs
e26444079c matroskadec: factorize some code
Originally committed as revision 19693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:40:30 +00:00
Aurelien Jacobs
8306be9c3b matroskadec: disable h264 parser as long as it totally mess up frame type
Originally committed as revision 19622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:12:02 +00:00
Aurelien Jacobs
194d4b494b matroskadec: correctly parse flags for simpleblock frames
Originally committed as revision 19621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:06:14 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Aurelien Jacobs
4f909c7675 matroskadec: prepend TargetType to metadata key name
Originally committed as revision 19184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:29:38 +00:00
Benjamin Larsson
0871e65cf6 Remove unused code found by CSA
Originally committed as revision 18783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 14:33:40 +00:00
Aurelien Jacobs
719e721a14 Add some basic metadata conversion tables for matroska and asf.
Add missing const qualifiers for metadata_conv in AV{In|Out}putFormat.

Originally committed as revision 17671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 00:12:08 +00:00
Aurelien Jacobs
9ebeea82f0 matroskadec: return AVERROR_EOF upon detection of end of file
Originally committed as revision 17460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 21:01:45 +00:00
Aurelien Jacobs
f702df396d matroskadec: export language of metadata tags when available
Originally committed as revision 17334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 16:05:37 +00:00
Aurelien Jacobs
929e9de7a1 matroskadec: add generic metadata support
Originally committed as revision 17331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:53:55 +00:00
Aurelien Jacobs
325ace3efc matroskadec: read track and attachment uid
will be useful for generic metadata support

Originally committed as revision 17330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:34:22 +00:00
Aurelien Jacobs
38766e084f matroskadec: export track name through the metadata API
Originally committed as revision 17329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:29:09 +00:00
Aurelien Jacobs
6cb6e159f8 matroskadec: use new metadata API to export some simple information
Originally committed as revision 17328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:25:14 +00:00
Aurelien Jacobs
69b6d53beb cosmetics: whitespace
Originally committed as revision 16951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 21:32:11 +00:00
Reimar Döffinger
0b178e5629 Add av_ prefix to LZO stuff and thus make it officially part of the public API.
Keep lzo1x_decode until the next major version bump for binary compatibility.

Originally committed as revision 16946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 20:16:00 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Aurelien Jacobs
0e169d16f1 matroskadec: merge ByteIOContext declarations at upper level
Originally committed as revision 16673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 17:26:24 +00:00
Aurelien Jacobs
68a71451f6 matroskadec: parse the WAVEFORMATEX header and discard it from extradata
Originally committed as revision 16672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 17:13:12 +00:00
Aurelien Jacobs
e0e4be590c matroskadec: ensure we only consider chapters which are properly ordered
Originally committed as revision 16612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 00:42:57 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Alexander Strange
1ca610c015 Allocate and clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of mkv
extradata.

Fixes valgrind invalid read warnings during H.264 extradata parsing.

Originally committed as revision 16229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:00:44 +00:00
Aurelien Jacobs
8f569ed08f matroskadec: fix index timestamps for some broken files
fix issue697

Originally committed as revision 15829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 15:34:51 +00:00
Aurelien Jacobs
37d3e0667a uses FF_ARRAY_ELEMS() where appropriate
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 21:40:24 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Aurelien Jacobs
c58e8bd3c3 matroskadec: cosmetics: indentation
Originally committed as revision 15529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 21:15:48 +00:00
Aurelien Jacobs
21a115d17b matroskadec: don't merge packets which have no timestamp
Originally committed as revision 15528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 21:14:56 +00:00
Aurelien Jacobs
d5e34dcb72 matroskadec: merge ASS events which share the same pts in the same AVPavket
Originally committed as revision 15455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 23:06:25 +00:00
Aurelien Jacobs
3df2be9fa7 matroskadec: ass events lines must end with a DOS style EOL
Originally committed as revision 15454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 23:01:07 +00:00
Aurelien Jacobs
1bb4a1a1c4 matroskadec: set duration only for CODEC_ID_TEXT subtitles
Originally committed as revision 15453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 22:58:53 +00:00
Aurelien Jacobs
e7d4b7431d matroskadec: pass duration as parameter of matroska_fix_ass_packet()
Originally committed as revision 15452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 22:55:28 +00:00
Aurelien Jacobs
a8fd7e764a matroskadec: simplify, first_timecode is already in the index
no need to duplicate it

Originally committed as revision 15302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-12 00:06:06 +00:00
Aurelien Jacobs
5358a81f9c matroskadec: prevent seeking before the first keyframe of the reference stream
Originally committed as revision 15301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 22:42:17 +00:00
Aurelien Jacobs
c16582579b matroskadec: demux relevant subtitle packets after a seek
only works for subtitle tracks which were properly indexed up to the seek point

Originally committed as revision 15284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:10:25 +00:00
Aurelien Jacobs
82360e670d matroskadec: ensure that overlapping subtitles are not added to the index
Originally committed as revision 15283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:07:10 +00:00
Aurelien Jacobs
20f7466550 matroskadec: after seeking, skip up to the desired timestamp instead of
the desired stream

Originally committed as revision 15282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:01:51 +00:00
Aurelien Jacobs
f14a201b32 matroskadec: move timecode calculation a little earlier
so as to be able to use it in other part of the code

Originally committed as revision 15281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 11:54:35 +00:00
Aurelien Jacobs
3fc9d7cec4 matroskadec: sanitize track time_scale before using it
fix issue628

Originally committed as revision 15280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 11:23:48 +00:00
Aurelien Jacobs
a3467f8608 matroskadec: remove now useless vstream and is_video_key_frame
Originally committed as revision 15231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:44:29 +00:00
Aurelien Jacobs
dbfb0e5f36 matroskadec: remove useless braces
Originally committed as revision 15230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:43:24 +00:00
Aurelien Jacobs
24c3da1637 matroskadec: ensure that the timecode added to the index are is the one
of the actual keyframe block, and not the one of the start of the cluster
containing this block.

Originally committed as revision 15229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:39:59 +00:00
Aurelien Jacobs
3eb9bfbb84 matroskadec: fix ASS subtitle track packets before emitting them
Matroska does some butchering when storing the ASS lines. The start and end
time are removed (because they are duplicated in the container).
The matroska_fix_ass_packet() function simply restore those start and end
time in ASS lines to ensure our ASS packets comply with the ASS spec.

Originally committed as revision 15211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:26:12 +00:00
Aurelien Jacobs
62c24705c8 matroska: subtitle display duration must be stored in pkt->convergence_duration
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:08:19 +00:00
Aurelien Jacobs
0dbddda397 matroskadec: cosmetics: indentation
Originally committed as revision 14995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 19:58:55 +00:00
Aurelien Jacobs
6bef5f9b96 matroskadec: seek to the last position known in the index before resorting to
full cluster parsing when seeking after the end of index

Originally committed as revision 14994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 19:57:42 +00:00
Aurelien Jacobs
8e44312d3f matroskadec: index timestamps are supposed to be in the timebase of the stream
Originally committed as revision 14984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-26 20:32:27 +00:00
Aurelien Jacobs
244ee48a82 matroskadec: unset matroska->done when seeking
just in case someone try to seek back after reaching the end of file

Originally committed as revision 14960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:17:31 +00:00
Aurelien Jacobs
0f646a2233 matroskadec: full seeking support in index-less files
when trying to seek past the last index entry, just parse more clusters to add them to the index, until an index entry match the desired position

Originally committed as revision 14959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:15:49 +00:00
Aurelien Jacobs
8bc98ba92b matroskadec: on the fly index construction for index-less files
each cluster that is read and that contains a video key frame is added
to the index

Originally committed as revision 14957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:09:08 +00:00
Aurelien Jacobs
dfbbbdc0bf matroskadec: don't try to seek to negative timestamp
matroska timestamps are unsigned

Originally committed as revision 14956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 23:57:29 +00:00
Aurelien Jacobs
653fb2f80c matroskadec: move setting of matroska->done inside matroska_parse_cluster()
Originally committed as revision 14955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 23:54:14 +00:00
Reimar Döffinger
7b571fd7a4 Mark "matroska" probe data string constant.
Originally committed as revision 14949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 17:19:46 +00:00
Aurelien Jacobs
ba18b99ffa matroskadec: make aac_profiles array const
Originally committed as revision 14943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 13:12:41 +00:00
Aurelien Jacobs
5972945197 convert every muxer/demuxer to write/read sample_aspect_ratio from/to
the corresponding AVStream instead of AVCodecContext

Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:43:20 +00:00
Aurelien Jacobs
28f27e0c0c matroskadec: fail cleanly when the required compression lib is not compiled in
Originally committed as revision 14870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 23:08:07 +00:00
Aurelien Jacobs
dc3e0211ed matroskadec: stop parsing when skipping en element crossing over the end of file
Originally committed as revision 14869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 22:30:15 +00:00
Aurelien Jacobs
eb9cf50a74 matroska: add support for most variants of PCM
Originally committed as revision 14862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:49:45 +00:00
Aurelien Jacobs
b49d17b77a matroskadec: handle EBML_ID_VOID and EBML_ID_CRC32 in a generic way
Originally committed as revision 14861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:44:25 +00:00
Aurelien Jacobs
5df3cc6f80 matroskadec: list some more ebml IDs found in the wild and that we ignore
This avoid printing some warnings about unknow IDs while we in fact know
the IDs but just want to knowingly ignore them.

Originally committed as revision 14738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 21:15:15 +00:00
Aurelien Jacobs
131f1cb2a9 matroskadec: parse available blocks even when cluster parsing failed
This way, we still read the few complete blocks out of a truncated
cluster at the end of a truncated file.

Originally committed as revision 14723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 09:36:45 +00:00
Aurelien Jacobs
44015c56a6 matroskadec: add basic tags support (metadata)
Originally committed as revision 14672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-08 23:50:38 +00:00
Aurelien Jacobs
00a3431cbb matroskadec: use av_freep(&x) instead of av_free(x);x=NULL
Originally committed as revision 14633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-06 00:21:10 +00:00
Anton Khirnov
b87025399c matroskadec: replace matroska_queue_packet with a single call to dynarray_add
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 14632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-06 00:17:47 +00:00
Diego Biurrun
5968d2dd1e misc spelling/grammar fixes
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 08:28:57 +00:00
Aurelien Jacobs
cc70d14b3d matroskadec: remove useless num_streams
Originally committed as revision 14611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:43:01 +00:00
Aurelien Jacobs
88cca98947 matroskadec: expand useless ebml_read_element_id() wrapper
Originally committed as revision 14610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:58 +00:00