Commit Graph

366 Commits

Author SHA1 Message Date
Anton Khirnov
e9eb8d0bce 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>
(cherry picked from commit 77eb5504d3)
2011-02-22 02:44:38 +01:00
Anton Khirnov
e63a362857 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>
(cherry picked from commit b7effd4e83)
2011-02-22 02:44:37 +01: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
ae99313aa5 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>
(cherry picked from commit e731b8d872)
2011-02-20 19:05:47 +01:00
Anton Khirnov
471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01: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
14d735bd4f 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>
(cherry picked from commit 95ec3d4cac)
2011-02-09 03:31:17 +01: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ò
66355be3c3 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.
(cherry picked from commit c6610a216e)
2011-01-28 03:15:34 +01: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
Aurelien Jacobs
33ac07ea08 matroskadec: simplify matroska_ebmlnum_sint()
Originally committed as revision 14609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:55 +00:00
Aurelien Jacobs
c1e01133f6 matroskadec: implement matroska_ebmlnum_uint() using ebml_read_num()
Originally committed as revision 14608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:52 +00:00
Aurelien Jacobs
cc8be50637 matroska: expand useless define for MS compat codec id strings
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:49 +00:00
Aurelien Jacobs
ff33c5c565 matroskadec: update copyright year and related comments
Originally committed as revision 14605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:43 +00:00
Aurelien Jacobs
737c40da20 matroskadec: reorder some functions in a more logical order
Originally committed as revision 14604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:39 +00:00
Aurelien Jacobs
1b6d23bbcb matroskadec: remove now useless wrapper ebml_read_element_length()
Originally committed as revision 14603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:36 +00:00
Aurelien Jacobs
66cfc3856c matroskadec: remove now useless wrapper ebml_read_seek()
Originally committed as revision 14602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:33 +00:00
Aurelien Jacobs
5c5373cea4 matroskadec: remove now useless peek_id
Originally committed as revision 14601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:29 +00:00
Aurelien Jacobs
3879763833 matroskadec: don't try to re-read already parsed ID in matroska_parse_cluster()
Originally committed as revision 14600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:26 +00:00
Aurelien Jacobs
6314cca006 matroskadec: remove now unused parameter 'once' from ebml_parse_nest()
Originally committed as revision 14599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:23 +00:00
Aurelien Jacobs
c4d3d9ba95 matroskadec: directly use ebml_parse() or ebml_parse_id() where it's enough
Originally committed as revision 14598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:20 +00:00
Aurelien Jacobs
66a37e060b matroskadec: new ebml_parse() function, centralize ebml_read_element_id() calls
Originally committed as revision 14597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:17 +00:00
Aurelien Jacobs
9bcb92ca6b matroskadec: rename ebml_parse() to ebml_parse_nest()
Originally committed as revision 14596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:13 +00:00
Aurelien Jacobs
c005b3f224 matroskadec: don't care about the number of bytes read by ebml_read_element_id()
Originally committed as revision 14595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:10 +00:00
Aurelien Jacobs
592110c26c matroskadec: simplify check for hierarchy level
Originally committed as revision 14594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:08 +00:00
Aurelien Jacobs
f7b9687cbb matroskadec: cosmetics: consistent style for function declarations
Originally committed as revision 14593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:05 +00:00
Aurelien Jacobs
104be2404e matroskadec: Use string instead of char table as probe data comparison source.
Originally committed as revision 14592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:02 +00:00
Aurelien Jacobs
eb05caccf2 matroskadec: use an EbmlBin as parameter to ebml_read_binary()
Originally committed as revision 14591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:59 +00:00
Aurelien Jacobs
c6cd2b3d22 matroskadec: extract common code out of ebml_read_*()
Originally committed as revision 14590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:55 +00:00
Aurelien Jacobs
ba5a1f99cc matroskadec: simplify/cleanup error logging in ebml_read_*()
Originally committed as revision 14589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:52 +00:00
Aurelien Jacobs
54d8869d3a matroskadec: remove now useless expected_id parameter from ebml_parse()
Originally committed as revision 14588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:50 +00:00
Aurelien Jacobs
4dc9e183dd matroskadec: expand useless ebml_peek_id() wrapper
Originally committed as revision 14587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:46 +00:00
Aurelien Jacobs
3856e7c4aa matroskadec: remove unused levelup parameter from ebml_read_element_id()
Originally committed as revision 14586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:43 +00:00
Aurelien Jacobs
44cea7651b matroskadec: extract read_level_up out of ebml_read_element_id
Originally committed as revision 14585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:40 +00:00
Aurelien Jacobs
dfde36a33e matroskadec: remove useless levelup check
Originally committed as revision 14584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:37 +00:00