summaryrefslogtreecommitdiff
path: root/libavformat/nutenc.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.
* nutenc: do not use AVCodecContext.frame_sizeAnton Khirnov2016-02-22
| | | | | It will in general not be available. Use block_align if known or fall back to av_get_audio_frame_duration().
* nut: Use the correct codec_tag when multiple are availableLuca Barbato2015-11-02
| | | | | | | | | | Some codecs use the codec_tag to signal specific information and picking the first one would lead to a broken file. Bug-Id: 883 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libavformat: Use ffio_free_dyn_buf where applicableMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* nutenc: do not use has_b_framesAnton Khirnov2015-01-27
| | | | | It is unreliable, especially when the stream codec context is not the encoding context. Use the codec descriptor properties instead.
* nutenc: check for negative index rather than assertVittorio Giovara2014-10-21
| | | | | CC: libav-stable@libav.org Bug-Id: CID 703721
* riffenc: take an AVStream instead of an AVCodecContextAnton Khirnov2014-06-18
| | | | | | It will be useful in the following commits. Also, rename the AVCodecContext pointer name from 'stream' to 'codec'.
* nut: Support experimental NUT 4 featuresLuca Barbato2014-05-28
| | | | | | | Add the low overhead pipe mode and the extended broadcast mode. Export the options as 'syncponts' since it impacts only that. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-23
|
* nut: Fix unchecked allocationsDerek Buitenhuis2013-10-22
| | | | | CC: libav-stable@libav.org Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Remove unreachable returnsDiego Biurrun2013-07-27
|
* nut: use a define for the nut versionLuca Barbato2013-05-06
| | | | Ease switching version in the future and make evident why that value.
* lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.hJustin Ruggles2012-11-28
|
* nutenc: verbosely report unsupported negative ptsLuca Barbato2012-10-29
| | | | Additionally use the correct error number.
* nutenc: K&R formatting cosmeticsLuca Barbato2012-10-28
|
* nut: export codec_tag provided by rawvideoLuca Barbato2012-10-16
| | | | | | Raw audio does not provide valid audio tags while rawvideo does. The fate refs have to be updated because it undoes the previous tag change.
* nut: prioritize native tagsLuca Barbato2012-10-13
| | | | | Use native tags instead of avi ones, simplifies a lot raw video codecs handling.
* avformat: Remove non-compiling and/or silly commented-out printf/av_log ↵Diego Biurrun2012-10-01
| | | | statements
* nutenc: const correctness for ff_put_v_trace/put_s_trace function argumentsDiego Biurrun2012-09-27
|
* lavf: flush the output AVIOContext in av_write_trailer().Anton Khirnov2012-09-15
| | | | | | | This is consistent with stdio and is what we want to do in all cases. Fixes a bug in the voc muxer which didn't flush in write_trailer() previously. This is the cause of the change in the test results.
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* avformat: Drop pointless "format" from container long namesDiego Biurrun2012-07-30
|
* lavf: use conditional notation for default codec in muxer declarations.Ronald S. Bultje2012-07-22
| | | | | This removes the use of macro nesting in these code constructs, which makes it easier to parse in pre-processors.
* 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>
* lavf: make av_set_pts_info private.Anton Khirnov2011-11-30
| | | | It's supposed to be called only from (de)muxers.
* lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.Anton Khirnov2011-10-20
| | | | | Specifically, ff_mpa_freq_tab, ff_mpa_bitrate_tab, ff_mpa_decode_header, ff_mpegaudio_decode_header.
* nutenc: add namespace to the api facing functionsLuca Barbato2011-09-04
| | | | | Rename write_{header,packet,trailer} to nut_write_{header,packet,trailer} in order to make easier debugging them.
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Do not include mathematics.h in avutil.hMans Rullgard2011-07-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
|
* nutenc: check malloc return values.Ronald S. Bultje2011-05-03
|
* nutenc: don't av_malloc(0).Ronald S. Bultje2011-05-03
|
* Eliminate pointless '#if 1' statements without matching '#else'.Diego Biurrun2011-04-26
|
* avio: avio_ prefix for url_close_dyn_bufAnton Khirnov2011-04-03
|
* avio: avio_ prefix for url_open_dyn_bufAnton Khirnov2011-04-03
|
* avio: make get_checksum() internal.Anton Khirnov2011-03-30
|
* avio: make init_checksum() internal.Anton Khirnov2011-03-30
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* nutenc: fix a memleakAnton Khirnov2011-03-17
| | | | | | This fixes a minor memory leak introduced in 073f8b1. 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>
* nutenc: mux chapters.Anton Khirnov2011-03-17
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* 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: 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.
* 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
* nutenc: fix unstable floating-point calculationsMåns Rullgård2010-09-10
| | | | Originally committed as revision 25095 to svn://svn.ffmpeg.org/ffmpeg/trunk
* move ff_get_v_length and ff_put_v from nutenc.c to internal.h/aviobuf.cMichael Chinen2010-07-09
| | | | | | patch by Micheal Chinen < mchinen gmail > Originally committed as revision 24140 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rename get_length to ff_get_v_length and put_v to ff_put_vMichael Chinen2010-07-09
| | | | | | patch by Michael Chinen < mchinen gmail > Originally committed as revision 24139 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-30
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk