summaryrefslogtreecommitdiff
path: root/libavformat/flacenc.c
Commit message (Collapse)AuthorAge
* lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* flac muxer: support reading updated extradata from side dataAnton Khirnov2014-06-01
|
* vorbiscomment: simplify API by using av_dict_count()Anton Khirnov2014-05-28
|
* flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel filesAnton Khirnov2014-05-28
|
* lavf: add AVFMT_FLAG_BITEXACT.Anton Khirnov2014-05-15
| | | | | | | | Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's codec context. Using codec options inside lavf is fragile and can easily break when the muxing codec context is not the encoding context.
* flac muxer: add option to disable writing the global headerJustin Ruggles2014-01-09
| | | | | The global header is not explicitly required for playback, and omitting it allows for simple concatenation.
* lavf: Don't explicitly flush after each written packet in muxersClément Bœsch2013-09-16
| | | | | | | | Since 596e5d4783, this is not necessary anymore. It also allows to actually disable the flushing, improving write performance (but possibly giving worse latency in real-time streaming). Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* cosmetics: Align muxer/demuxer declarationsMartin Storsjö2012-04-06
| | | | | | | Also add missing trailing commas, break long codec_tag lines and add spaces in codec_tag declarations. Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace vendor string in Ogg and FLAC muxers.Diego Biurrun2011-11-02
|
* lavc: use avpriv_ prefix for some flac symbols used in lavf.Anton Khirnov2011-10-20
| | | | | Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and ff_flac_parse_block_header
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
|
* avio: introduce an AVIOContext.seekable fieldAnton Khirnov2011-04-03
| | | | Use it instead of url_is_streamed and AVIOContext.is_streamed.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avio: rename put_flush_packet -> avio_flushAnton Khirnov2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefix for url_fseekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio: avio_ prefixes for put_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | 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>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | 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.
* vorbiscomment: convert metadata before computing the header's lengthAnton Khirnov2010-10-27
| | | | Originally committed as revision 25586 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Export metadata in the generic format. Deprecate old conversion API.Anton Khirnov2010-10-15
| | | | | | patch by Anton Khirnov anton _at_ khirnov _dot_ net Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vorbiscomment: change ff_vorbiscomment_write to take an AVMetadata**Anton Khirnov2010-10-14
| | | | | | patch by Anton Khirnov anton _at_ khirnov _dot_ net Originally committed as revision 25473 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move ff_flac_write_header() to flacenc.h, which removes the Matroska muxer'sJustin Ruggles2010-03-22
| | | | | | dependency on flacenc.o and fixes the unnecessary dependency on vorbiscomment.o. Originally committed as revision 22639 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add VorbisComment writing to FLAC files.James Darnley2010-03-20
| | | | | | Patch by James Darnley <james darnley at gmail>. Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Share the function to write a raw FLAC header and use it in the MatroskaJustin Ruggles2009-02-26
| | | | | | muxer. Originally committed as revision 17606 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: add a comment in flac_write_header().Justin Ruggles2009-02-26
| | | | Originally committed as revision 17605 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add support for full header extradata to raw FLAC muxer.Justin Ruggles2009-02-26
| | | | Originally committed as revision 17604 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use a shared function to validate FLAC extradata.Justin Ruggles2009-02-26
| | | | Originally committed as revision 17602 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Separate the raw FLAC muxer from raw.c to its own file, flacenc.c.Justin Ruggles2009-02-26
Originally committed as revision 17601 to svn://svn.ffmpeg.org/ffmpeg/trunk