Commit Graph

64 Commits

Author SHA1 Message Date
Luca Barbato
c2cb01d418 lavf: introduce AVFMT_TS_NEGATIVE
Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-25 10:13:27 +02:00
Justin Ruggles
59220d559b oggenc: add a page_duration option and deprecate the pagesize option
This uses page duration instead of byte size to determine when to buffer
the page. Also, it tries to avoid continued pages by buffering the current
page if there are already packets in the page and adding the next packet
would require it to be continued on a new page. This can improve seeking
performance.

The default page duration is 1 second, which is much saner than filling
all page segments by default.
2013-01-08 15:42:36 -05:00
Nathan Caldwell
bcc1f7caeb Add Opus support to the Ogg muxer.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 10:48:35 +02:00
Martin Storsjö
e6153f173a avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Reimar Döffinger
10b1c060f9 oggenc: fix condition when not to flush due to keyframe granule.
The previous condition of 0 page size was wrong,
that would disable the mechanism for all frames at
a start of a page, thus some keyframes still would not
get their own granule.
The real problem is that header packets must not be flushed,
but they have (and must have) 0 granule and thus would
be detected as keyframes.
Add a separate parameter to mark header packets.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-30 16:32:16 -04:00
Andres Gonzalez
ed3e1b485a oggenc: add pagesize option to set preferred page size
When set, if an Ogg stream buffer has enough data, a page is made
instead of filling maximum-size pages. Using smaller pages results
smaller seek intervals at the expense of higher container overhead.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-30 16:32:03 -04:00
Justin Ruggles
9677247b0a oggenc: free comment header for all codecs
fixes a memleak for Vorbis and Theora, where the comment header from
avpriv_split_xiph_headers() is replaced by a buffer that must be freed
separately.
2012-02-24 13:15:41 -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
Diego Biurrun
c6cd0e17f3 Replace vendor string in Ogg and FLAC muxers. 2011-11-02 10:43:39 +01:00
Anton Khirnov
357db4c263 lavc: use avpriv_ prefix for ff_split_xiph_headers.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
d9cca9fc6a lavc: use avpriv_ prefix for some flac symbols used in lavf.
Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and
ff_flac_parse_block_header
2011-10-20 21:06:58 +02: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
Mans Rullgard
0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Anton Khirnov
6dc7d80de7 avio: avio_ prefix for url_close_dyn_buf 2011-04-03 22:47:05 +02:00
Anton Khirnov
b92c545282 avio: avio_ prefix for url_open_dyn_buf 2011-04-03 22:46:56 +02:00
Anton Khirnov
b64030f26d avio: make get_checksum() internal. 2011-03-30 07:48:55 +02:00
Anton Khirnov
4c4427a75d avio: make init_checksum() internal. 2011-03-30 07:47:08 +02: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
b7f2fdde74 avio: rename put_flush_packet -> avio_flush
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:59:39 -04: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
0abdb29317 lavf: use a new ffio_wfourcc macro instead of put_tag() where possible
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 14:38:22 -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
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -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
Baptiste Coudurier
ab04337464 In ogg muxer, correctly mux VFR streams, fix issue #2398
Originally committed as revision 26229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 19:32:45 +00:00
Anton Khirnov
042ca05f0f vorbiscomment: convert metadata before computing the header's length
Originally committed as revision 25586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-27 05:02:29 +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
Anton Khirnov
81e5ff7ae2 vorbiscomment: change ff_vorbiscomment_write to take an AVMetadata**
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 19:08:31 +00:00
Alex Converse
d256d21e3f oggenc: Don't use char* to point to a string constant.
Originally committed as revision 25440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:15:21 +00:00
James Darnley
521d434fd5 Vorbis metadata writing. Patch by James Darnley <james.darnley gmail com>.
Fixes issue 555.

Originally committed as revision 25034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 19:30:27 +00:00
Baptiste Coudurier
5c32755570 In ogg muxer, free dyn allocated buffer, fix memleak
Originally committed as revision 24276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 22:36:01 +00:00
Baptiste Coudurier
22fe18c1c0 In ogg muxer, use dyn buffer to compute crc of the page, fix muxing with pipe
when page buffer is bigger than default buffer size. Max page is 65k.

Originally committed as revision 24242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 23:21:18 +00:00
Baptiste Coudurier
ce2a9bc3c8 In ogg muxer, use random serial number of each ogg streams
Originally committed as revision 23302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 23:37:33 +00:00
Baptiste Coudurier
ff85f58605 remove unused field
Originally committed as revision 23232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-21 21:41:38 +00:00
Baptiste Coudurier
95ca3b1e20 In ogg muxer, pack multiple frames into one page, much lower overhead
Originally committed as revision 23231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-21 21:38:54 +00:00
Stefano Sabatini
2874c81cc8 Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR(ENOMEM).

AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.

Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +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
aeef3ec6f0 Add VorbisComment writing to Ogg/FLAC and Ogg/Speex files.
Patch by James Darnley <james darnley at gmail>

Originally committed as revision 22606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:39:22 +00:00
Greg Maxwell
fbe8c56dfe Correctly write last 0 lacing value when packet size is multiple of 255, patch by Greg Maxwell, gmaxwell at gmail dot com
Originally committed as revision 22559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:04:09 +00:00
Baptiste Coudurier
012dc2c426 Remove MAX_STREAMS usage in ogg and mxf muxers
Originally committed as revision 21526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 06:38:00 +00:00
Justin Ruggles
8746296818 Add Speex support to the Ogg muxer.
Originally committed as revision 20220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 01:46:19 +00:00
Michael Niedermayer
e07b882b4d Improve amortized worst case speed of the muxers packet interleaving code
from O(packets_in_the_file) to O(num_of_streams).

Originally committed as revision 19887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:04:04 +00:00
Justin Ruggles
87b4dd3b96 oggenc: Change error log text. An error here does not necessarily mean
corrupted data.

Originally committed as revision 19248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:18:29 +00:00
Justin Ruggles
3f2eadf4fe oggenc: return error value from ogg_build_flac_headers()
Originally committed as revision 19247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:16:48 +00:00
Justin Ruggles
4315aa8b05 cosmetics: spacing and comments
Originally committed as revision 19246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:14:58 +00:00
Justin Ruggles
e9a32230c3 oggenc: check for failed av_mallocz()
Originally committed as revision 19245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:13:54 +00:00