summaryrefslogtreecommitdiff
path: root/libavformat/mux.c
Commit message (Collapse)AuthorAge
* lavf: switch to AVStream.time_base as the hint for the muxer timebaseAnton Khirnov2014-06-18
| | | | | | | | | | | | Previously, AVStream.codec.time_base was used for that purpose, which was quite confusing for the callers. This change also opens the path for removing AVStream.codec. The change in the lavf-mkv test is due to the native timebase (1/1000) being used instead of the default one (1/90000), so the packets are now sent to the crc muxer in the same order in which they are demuxed (previously some of them got reordered because of inexact timestamp conversion).
* lavf: deprecate now unused AVStream.ptsAnton Khirnov2014-05-19
|
* mux: drop one of the hacks comprising compute_pkt_fields2()Anton Khirnov2014-05-19
| | | | All encoders should output proper timestamps now.
* lavf: drop the zero-sized packets hackAnton Khirnov2014-05-15
| | | | | | There should not be any valid reason anymore for passing completely empty packets to lavf. OTOH side data-only packets can be useful.
* 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.
* lavf: always unref the packet passed to av_interleaved_write_frame() on errorAnton Khirnov2014-02-10
|
* lavf: improve handling of sparse streams when muxingLuca Barbato2014-02-04
| | | | | | | | | | | | | | | | | | Currently ff_interleave_packet_per_dts() waits until it gets a frame for each stream before outputting packets in interleaved order. Sparse streams (i.e. streams with much fewer packets than the other streams, like subtitles or audio with DTX) tend to add up latency and in specific cases end up allocating a large amount of memory. Emit the top packet from the packet_buffer if it has a time delta larger than a specified threshold. Original report of the issue and initial proposed solution by mus.svz@gmail.com. Bug-id: 31 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf: ignore attachment streams for interleaving purposesAnton Khirnov2014-02-04
| | | | Those streams should never get any packets by definition.
* lavf: do basic sanity checking on muxed packetsAnton Khirnov2014-02-04
| | | | Reject packets for non-existing or attachment streams.
* lavf: Add a flag to enable/disable per-packet flushingLuca Barbato2013-09-16
| | | | | | | | | This is enabled by default and can be disabled with "-fflags -flush_packets". Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>. Signed-off-by: Martin Storsjö <martin@martin.st>
* Disable deprecation warnings for cases where a replacement is availableDiego Biurrun2013-08-02
|
* lavf: don't abort if both encoder and muxer aspect ratios are not setRafaël Carré2013-06-24
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avf: move ff_write_chained to mux.cLuca Barbato2013-06-16
|
* Remove commented-out debug #define cruftDiego Biurrun2013-05-16
|
* avformat: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
|
* lavf: introduce AVFMT_TS_NEGATIVELuca Barbato2013-04-25
| | | | | | | | | | 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>
* lavf: remove disabled FF_API_INTERLEAVE_PACKET cruftAnton Khirnov2013-03-11
|
* avpacket: use AVBuffer to allow refcounting the packets.Anton Khirnov2013-03-08
| | | | | | This will allow us to avoid copying the packets in many cases. This breaks ABI.
* lavf: Fix assignments in if()Michael Niedermayer2013-01-14
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: refactor avformat_write_headerLuca Barbato2012-10-01
| | | | Split away option settings, sanity checks and general setup.
* avformat: refactor avformat_write_headerLuca Barbato2012-10-01
| | | | Mostly cosmetic changes adding some intermediate to shorten the lines.
* avformat: split muxing functions from util.cLuca Barbato2012-10-01