Chris Evans
4cc3467e7a
oggdec: prevent heap corruption.
...
Specifically crafted samples can reinit ogg->streams[] while
reading samples, and thus we should not cache old pointers since
these may no longer be valid.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-11 16:37:11 -07:00
Nicolas George
9cec1bbd14
ogg: propagate return values and return more meaningful error values
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-04 15:59:58 +02:00
Reimar Döffinger
0a94020b5b
oggdec: Abort Ogg header parsing when encountering a data packet.
...
Fixes Bugzilla #11 .
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-04 12:54:27 +02:00
Ronald S. Bultje
9ed6cbc3ee
ogg: fix double free when finding length of small chained oggs.
...
ogg_save() copies streams[], but doesn't keep track of free()'ed
struct members. Thus, if in between a call to ogg_save() and
ogg_restore(), streams[].private was free()'ed, this would result
in a double free -> crash, which happened when e.g. playing small
chained ogg fragments.
2011-06-29 09:45:52 -07:00
Diego Biurrun
b751f61106
Remove stray extra arguments from av_dlog() invocations.
2011-06-02 23:11:58 +02:00
Mans Rullgard
e65ab9d94f
Remove unused variables
2011-06-02 20:06:00 +01:00
Clément Bœsch
e575685fad
Cosmetics: fix prototypes in oggdec
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 13:34:20 +02:00
Clément Bœsch
5780f41af5
oggdec: fix memleak with continuous streams.
...
This avoids the creation of a new AVStream instead of replacing it when
a stream reset occurs (track change with some webradios for example).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 13:34:20 +02:00
Clément Bœsch
b3bbc6fdc5
oggdec: use explicit AVInputFormat struct initializers
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 11:32:26 +02:00
Clément Bœsch
f95257d27c
oggdec: simplify ogg_probe
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 11:32:26 +02:00
Diego Biurrun
045dd4b928
Replace some commented-out debug printf() / av_log() messages with av_dlog().
2011-04-29 17:27:01 +02:00
Clément Bœsch
dc713546d4
oggdec: reindent after 8f3eebd6
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-04-24 16:45:45 +02:00
Michael Niedermayer
52512d0a43
oggdec: use av_freep() instead of av_free()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-20 17:37:16 +02:00
Clément Bœsch
8f3eebd663
oggdec: simplify audio chained ogg streams support
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-15 11:45:03 +02:00
Clément Bœsch
47dec30edb
oggdec: fix demuxing chained audio streams
...
Chained ogg served by icecast and mpd should demux
properly now.
Fixes issue2337
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-10 04:33:15 +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
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
76aa876e69
avio: avio_ prefix for url_fsize
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 11:03:39 -05:00
Anton Khirnov
e51975392d
avio: deprecate url_fgetc and remove all it uses
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 10:51:21 -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
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
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
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
6bd69e6ada
oggdec: Fix incorrect assumption about header/data interleaving
...
Currently (since the data_offset fix) the ogg demuxer assumes that
after the first non-header packets in any stream no more header packets
will follow.
This is not guaranteed, so change the code back again to wait until it
has finished the headers for all streams before returning from ogg_get_headers.
This fixes issue 2428.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-08 21:40:03 +00: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
Aaron Colwell
365d8e471d
Ensure that data_offset is set correctly when there are partial
...
data packets before the first complete one.
Patch by Aaron Colwell [acolwell chromium org].
Originally committed as revision 25846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-29 19:02:28 +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
Eli Friedman
461628c6a8
Fix printf format warnings
...
patch by Eli Friedman <eli dot friedman at gmail dot com>
Originally committed as revision 23547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-09 08:59:41 +00:00
Reimar Döffinger
f1a0518524
Enable AVFMT_GENERIC_INDEX for Ogg demuxer. This avoids the many
...
seeks needed for binary search when seeking to a previously seen
location.
Originally committed as revision 23279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 23:33:38 +00:00
David Conrad
adc725b558
oggdec: Move warning about missing granule to the correct place
...
Originally committed as revision 22891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:38 +00:00
David Conrad
44a088eab7
oggdec: Fix duration calculation if the last page in a file has no granule
...
Originally committed as revision 22890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:35 +00:00
David Conrad
49c2d29089
oggdec: Remove write-only variable
...
Originally committed as revision 22889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:29 +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
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
81b743eb10
oggdec: Pass packets to header() until the stream is done with them
...
This fixes some old ogm files that had the 3rd vorbis header after a data
packet in another stream. This is invalid in ogg, but this change shouldn't
affect the behaviour of any valid file.
Originally committed as revision 22478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:17:01 +00:00
David Conrad
d8b91fae1d
oggdec: Seek to keyframes
...
Originally committed as revision 22463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:18:00 +00:00
David Conrad
873d117e4b
oggdec: Determine pts and filepos on a packet basis in read_timestamp
...
This takes into account whether the granule defines the start or end times
of packets, and sets the correct file offset of the associated page.
Originally committed as revision 22462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:56 +00:00
David Conrad
6abaa27211
oggdec: Move PTS/DTS calculation to a function
...
Originally committed as revision 22461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:53 +00:00
David Conrad
77560b0ef1
oggdec: Fix duration calculation for streams with non-zero start
...
Originally committed as revision 22458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:43 +00:00
David Conrad
32ad869284
oggdec: Parse skeleton to determine the start time of each stream
...
Originally committed as revision 22457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:40 +00:00
David Conrad
dfaed51f04
oggdec: Move ogg_find_stream and ogg_gptopts to oggdec.h
...
(skeleton will need them)
Originally committed as revision 22455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:33 +00:00
David Conrad
50a9d32310
oggdec: Set data_offset to the right value
...
Otherwise it gets set automatically to a page midstream and prevents seeking
to the first page.
Originally committed as revision 22454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:29 +00:00
David Conrad
73823cb941
oggdec: Save offset of the page needed to reconstruct the current packet
...
Originally committed as revision 22453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:24 +00:00
Reimar Döffinger
be4a113264
Make sure the header value used to avoid repeating headers on seeking to the
...
start and to avoid initializing codecs with missing headers is set for all streams.
Fixes issue 1723.
Originally committed as revision 21693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 20:25:36 +00:00
David Conrad
ecc0027bc6
Fix playback with invalid files that don't set the continuation flag for
...
pages that continue packets started in prior pages.
Fixes issue1248
Originally committed as revision 21688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 10:13:03 +00:00
David Conrad
2d4970d88d
oggdec: Set dts when known
...
Originally committed as revision 21134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 05:51:09 +00:00
David Conrad
24ca518bd1
Add support for dirac in ogg
...
Originally committed as revision 21128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:52 +00:00
David Conrad
5e15c7d95b
Fix PTS for OGM codecs.
...
Fixes issue251
Originally committed as revision 20815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 20:18:43 +00:00
Justin Ruggles
15299b3821
Calculate correct packet durations when demuxing Ogg/Speex. This involves
...
determining if there is any delay in the first packet and/or any truncation in
the final packet.
Originally committed as revision 20216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 21:30:03 +00:00