Commit Graph

109 Commits

Author SHA1 Message Date
Michael Niedermayer
1f95ad48ff oggvorbisdec: redesign special handling of first frames timestamp.
This also will make it possible to use the code for cases other than the start of a stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04 23:59:26 +02:00
Michael Niedermayer
63eb01d9c1 oggvorbis: Try to fix pts off by 1 issue.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04 15:49:37 +02:00
Michael Niedermayer
ca4a3f4a08 oggparsevorbis: Remove code messing with cur_dts.
This code caused first_dts to become corrupt and in value to be
around relative_ts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:56:02 +02:00
Justin Ruggles
f63412fc74 oggdec: output correct timestamps for Vorbis
Takes encoder delay into account by comparing first the coded page
duration with the calculated page duration. Handles last packet duration
if needed, also by comparing coded duration with calculated duration.
Also does better handling of timestamp generation for packets in the
first page for streamed ogg files where the start time is not
necessarily zero.
2012-03-20 14:39:57 -04:00
Justin Ruggles
5602a464c9 avcodec: add a Vorbis parser to get packet duration
This also allows for removing some of the Vorbis-related hacks.
2012-03-03 16:43:11 -05:00
Anton Khirnov
c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01: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
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Anton Khirnov
19711af5cd lavf: move internal functions from avformat.h to internal.h
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 16:35:00 -05:00
Reimar Döffinger
a351110eea Always use av_set_pts_info to set the stream time base.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 16:08:59 -05:00
Reimar Döffinger
8cb3c557a9 Ogg: discard non-essential metadata from Vorbis header when creating extradata
The first part of the metadata, the "vendor" string, is required by
libvorbis, it will refuse to play when it is not available.
Also we do not currently parse that part into metadata so it would also
be lost if we removed it as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:21:26 +00:00
Reimar Döffinger
ce20edb7bd Vorbis-in-Ogg: Do not set timebase to invalid values
Avoids an assert when the sample rate is invalid and the timebase
is thus set to e.g. 1/0.
Sample file is http://samples.mplayerhq.hu/ogg/fuzzed-srate-crash.ogg

This is a quick fix for a crash, not a final solution.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-29 13:48:13 +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
Martin Storsjö
fb66c31da4 Fix building, include the header instead of the source file
Builds only seemed to have been broken in some configurations, though.

Originally committed as revision 25499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 08:50:50 +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
Alex Converse
73c44cb286 oggparsevorbis: Add some sanity checks to header packet ordering/presence.
Originally committed as revision 24740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 21:30:34 +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
James Darnley
66061a1220 Add VorbisComment writing to FLAC files.
Patch by James Darnley <james darnley at gmail>.

Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:36:43 +00:00
David Conrad
8730fad595 oggdec: Parse ogm chapters
Originally committed as revision 22477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:57 +00:00
David Conrad
533c30fced Const correctness for vorbis_comment
Originally committed as revision 22474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:47 +00:00
David Conrad
b53cde48bd oggdec: Metadata is per-stream; don't merge multiple streams' together
Originally committed as revision 22473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:44 +00:00
David Conrad
e4d2d8c5d7 Add ff_ prefix to vorbis_comment
Originally committed as revision 22472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:39 +00:00
David Conrad
2ac41150c0 oggdec: Fix memory leak in setting up vorbis headers
Originally committed as revision 22460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:49 +00:00
David Conrad
8f8320d7c3 oggdec: Don't use ogg_stream's seq for vorbis or speex headers
Originally committed as revision 22459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:46 +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
Michael Niedermayer
12ad66712a Use AV_METADATA_DONT_STRDUP* / use av_malloced metadata instead of strduped
arrays of fixed length.
Code from ffmbc with changes to adapt to our metadata API.

Originally committed as revision 20836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 20:27:29 +00:00
Justin Ruggles
961057decd Remove unnecessary entries in ff_vorbiscomment_metadata_conv. VorbisComment
keys are case-insensitive.

Originally committed as revision 20267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:30:50 +00:00
Reimar Döffinger
98422c44cf Fix possible buffer over-read in vorbis_comment, fix it double to be sure.
First, make s signed, so that comparisons against end - p will not be made as
unsigned, making the check incorrectly pass if p is beyond end.
Also ensure that p will never be > end, so the code is correct also if
buf is not padded.

Originally committed as revision 20014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 15:37:09 +00:00
Reimar Döffinger
7d507ceb79 Correctly print number of remaining bytes in oggparsevorbis instead of always
with inverted sign.

Originally committed as revision 19978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 09:18:23 +00:00
Justin Ruggles
d7bb185f99 Add a VorbisComment metadata conversion table and use it in the FLAC and
Ogg demuxers.

Originally committed as revision 19186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:45:58 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Justin Ruggles
e3b446498a use av_malloc() in vorbis_comment()
Originally committed as revision 17188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 21:39:37 +00:00
Aurelien Jacobs
bf6c32fe50 use new metadata API in ogg/vorbis demuxer
Originally committed as revision 17164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 23:34:57 +00:00
Diego Biurrun
9686df2be5 Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 15:23:30 +00:00
Måns Rullgård
77be08eeb1 OGG: untypedef demuxer structs
Originally committed as revision 15784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-06 01:50:56 +00:00
Reimar Döffinger
547ea47d4f Add ff_ prefix to ogg_codec_t structs
Originally committed as revision 14951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 17:37:43 +00:00
Reimar Döffinger
cd34bc7617 Make ogg_codec_t descriptions const
Originally committed as revision 14948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 17:09:15 +00:00
Siarhei Siamashka
589790c294 OGG: Add padding at end of Vorbis headers
Patch by Siarhei Siamashka <siarhei.siamashka gmail com>

Originally committed as revision 14249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 23:00:29 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Baptiste Coudurier
47a0513b0c const
Originally committed as revision 11762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 15:17:32 +00:00
Diego Biurrun
a0ddef24ce Rename ogg2.[ch] to oggdec.[ch].
Originally committed as revision 10943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-07 20:22:32 +00:00
Måns Rullgård
972c5f9e10 simply buffer checks in vorbis_comment()
Originally committed as revision 10725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-13 11:43:03 +00:00
Måns Rullgård
0a770ae7b4 use bytestream_get_* in vorbis_comment()
Originally committed as revision 10724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-13 11:42:06 +00:00
Måns Rullgård
736e63edc8 check values more thoroughly in vorbis_header()
Originally committed as revision 10707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 22:59:36 +00:00
Måns Rullgård
739587bf04 use bytestream_get_* in vorbis_header()
Originally committed as revision 10706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 22:59:34 +00:00
Måns Rullgård
f5475e1b38 fix buffer overread with invalid Vorbis header
Originally committed as revision 10705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 22:59:31 +00:00
Måns Rullgård
62f2c069b8 remove duplicate Vorbis comment tag handling
Originally committed as revision 10704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 22:58:16 +00:00
Måns Rullgård
19f4cecafa warnings--
Originally committed as revision 9411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 12:20:18 +00:00
Måns Rullgård
4bd684bc2f whitespace cosmetics
Originally committed as revision 9410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 12:20:17 +00:00
Måns Rullgård
1eb1f6fdb8 use AV_RL32
Originally committed as revision 9409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 12:20:16 +00:00
Måns Rullgård
d66c30adec use more Vorbis metadata tags
Originally committed as revision 9408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 12:12:04 +00:00
Måns Rullgård
d367783979 replace strncpy with av_strlcpy
Originally committed as revision 9407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 12:11:45 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Måns Rullgård
3644cb8ff9 set stream time_base properly
Originally committed as revision 5367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-12 00:50:43 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
01f4895c68 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
Originally committed as revision 4453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-17 22:24:36 +00:00
Måns Rullgård
ad2b531d3f change extradata format for vorbis
Originally committed as revision 4235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-13 18:10:23 +00:00
Måns Rullgård
056f6179f0 s/u_char/uint8_t/
Originally committed as revision 4121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-10 18:03:06 +00:00
Måns Rullgård
9146ca3700 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
fixups by me.

Originally committed as revision 4113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-09 15:32:58 +00:00