summaryrefslogtreecommitdiff
path: root/libavformat/mux.c
Commit message (Collapse)AuthorAge
* avformat/mux: Check for and remove invalid packet durationsMichael Niedermayer2014-04-23
| | | | | | | Fixes assertion failure Fixes Ticket3575 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Various small spelling fixes.Reimar Döffinger2014-04-22
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* avformat/mux: support shifting timestamps so they start at 0Michael Niedermayer2014-02-22
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavf/mux: check av_dup_packet() return value.Nicolas George2014-02-20
| | | | | Signed-off-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavf: add write_uncoded_frame() API.Nicolas George2014-02-11
|
* Merge commit '394fb56c29eee7f4f8f0334d8b5d30d3c54ac703'Michael Niedermayer2014-02-10
|\ | | | | | | | | | | | | * commit '394fb56c29eee7f4f8f0334d8b5d30d3c54ac703': lavf: always unref the packet passed to av_interleaved_write_frame() on error Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: always unref the packet passed to av_interleaved_write_frame() on errorAnton Khirnov2014-02-10
| |
* | Merge commit 'd9ae1031f5edbd25c8526b4cb51aba66d3bee931'Michael Niedermayer2014-02-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd9ae1031f5edbd25c8526b4cb51aba66d3bee931': lavf: improve handling of sparse streams when muxing Conflicts: doc/APIchanges libavformat/avformat.h libavformat/mux.c libavformat/options_table.h libavformat/version.h See: 37ed5df5c5e06a55724fb9eb215da1594b648282 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '33c859c142ef3f49b7a6227014ad92a680cf4d74'Michael Niedermayer2014-02-04
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '33c859c142ef3f49b7a6227014ad92a680cf4d74': lavf: ignore attachment streams for interleaving purposes Conflicts: libavformat/avformat.h libavformat/internal.h libavformat/mux.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: ignore attachment streams for interleaving purposesAnton Khirnov2014-02-04
| | | | | | | | Those streams should never get any packets by definition.
* | Merge commit '7b03b65bf0d02519c86750d2da33f413e11cf0c6'Michael Niedermayer2014-02-04
|\| | | | | | | | | | | | | * commit '7b03b65bf0d02519c86750d2da33f413e11cf0c6': lavf: do basic sanity checking on muxed packets Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: do basic sanity checking on muxed packetsAnton Khirnov2014-02-04
| | | | | | | | Reject packets for non-existing or attachment streams.
* | lavf: add output_ts_offset option to AVFormatContextStefano Sabatini2014-02-02
| | | | | | | | | | This option can be generally useful to set an output offset, needed when setting an absolute index in the output.
* | avformat/mux: fix "no tag found" check in validate_codec_tag()Michael Niedermayer2014-01-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mux: improve feedback in case of no streams in muxerStefano Sabatini2013-12-15
| |
* | lavf/mux: Don't write "encoder" metadata tag when bitexact is requestedJames Almer2013-12-06
| | | | | | | | | | | | | | | | Since we don't write lavf's string when bitexact is requested, this will prevent the tag from being copied from the source stream. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '596e5d4783ca951258a7c580951fd161f1785ec1'Michael Niedermayer2013-09-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '596e5d4783ca951258a7c580951fd161f1785ec1': lavf: Add a flag to enable/disable per-packet flushing Conflicts: libavformat/avformat.h libavformat/mux.c libavformat/version.h This adds a 2nd API to set per packet flushing If the user application indicates through either a non default then this non default takes precedence over the other still default value Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'Michael Niedermayer2013-08-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7950e519bb094897f957b9a9531cc60ba46cbc91': Disable deprecation warnings for cases where a replacement is available Conflicts: libavcodec/avpacket.c libavcodec/pthread.c libavcodec/utils.c libavdevice/v4l2.c libavfilter/avfiltergraph.c libavfilter/buffersrc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Disable deprecation warnings for cases where a replacement is availableDiego Biurrun2013-08-02
| |
* | lavf/mux: rename variable cortag -> tagbuf2 in init_muxer()Stefano Sabatini2013-06-26
| | | | | | | | Possibly enhance readibility.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-06-24
|\| | | | | | | | | | | | | | | | | | | * qatar/master: lavf: don't abort if both encoder and muxer aspect ratios are not set Conflicts: libavformat/mux.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1'Michael Niedermayer2013-06-16
|\| | | | | | | | | | | | | | | | | | | | | * commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1': avf: move ff_write_chained to mux.c Conflicts: libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avf: move ff_write_chained to mux.cLuca Barbato2013-06-16
| |
* | Adding support for encoding VP8 AlphaVignesh Venkatasubramanian2013-05-17
| | | | | | | | | | | | | | | | | | | | This patch adds support for encoding VP8 files with alpha. The alpha channel is encoded separately and the output is placed in AVPacket's side_data. The muxer then muxes it into the BlockAdditional element of the matroska container. More details on spec here: http://goo.gl/wCP1y Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'Michael Niedermayer2013-05-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110': vf_aspect: use the name 's' for the pointer to the private context Remove commented-out debug #define cruft Conflicts: libavcodec/4xm.c libavcodec/dvdsubdec.c libavcodec/ituh263dec.c libavcodec/mpeg12.c libavfilter/avfilter.c libavfilter/vf_aspect.c libavfilter/vf_fieldorder.c libavformat/rtmpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove commented-out debug #define cruftDiego Biurrun2013-05-16
| |
* | Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'Michael Niedermayer2013-05-01
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e926b5ceb1962833f0c884a328382bc2eca67aff': avformat: Drop unnecessary ff_ name prefixes from static functions Conflicts: libavformat/audiointerleave.c libavformat/mux.c libavformat/mxfenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
| |
* | avformat/write_packet: drop disabled codeMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mux: set avoid_negative_ts based on flags if not overridden by user ↵Michael Niedermayer2013-04-26
| | | | | | | | | | | | | | | | or muxer This changes the default to avoid negative timestamps. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mux: assert that timestamps are positive after offsetting themMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mux: use a local variable for offsetMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mux: change avoid_negative_ts code to support later addition of ↵Michael Niedermayer2013-04-26
| | | | | | | | | | | | AVStreams Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c2cb01d418dd18e1cf997c038d37378d773121be'Michael Niedermayer2013-04-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c2cb01d418dd18e1cf997c038d37378d773121be': lavf: introduce AVFMT_TS_NEGATIVE Conflicts: libavformat/avformat.h libavformat/mux.c tests/ref/lavf/asf tests/ref/lavf/mkv tests/ref/lavf/mpg tests/ref/lavf/ts tests/ref/seek/lavf-asf tests/ref/seek/lavf-mkv tests/ref/seek/lavf-mpg tests/ref/seek/lavf-ts This commit does not change the default ts behaviour, such change will, if its done, be done separately. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | mux: also call avio_flush() when flushing the muxerMichael Niedermayer2013-04-08
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mux: add the flush_packets option.Nicolas George2013-03-24
| | | | | | | | Note: a lot of muxers already do the flushing explicitly.
* | Merge commit '7b486ab13bfcfa88a7cd92586de50e49966ec292'Michael Niedermayer2013-03-13
|\| | | | | | | | | | | | | | | | | | | | | * commit '7b486ab13bfcfa88a7cd92586de50e49966ec292': lavf: remove disabled FF_API_AV_GETTIME cruft lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: remove disabled FF_API_INTERLEAVE_PACKET cruftAnton Khirnov2013-03-11
| |
* | Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'Michael Niedermayer2013-03-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1afddbe59e96af75f1c07605afc95615569f388f': avpacket: use AVBuffer to allow refcounting the packets. Conflicts: libavcodec/avpacket.c libavcodec/utils.c libavdevice/v4l2.c libavformat/avidec.c libavformat/flacdec.c libavformat/id3v2.c libavformat/matroskaenc.c libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | mux/chunked interleaver: better align duration chunks.Michael Niedermayer2013-01-17
| | | | | | | | | | | | This code causes the chunking to tend toward more optimal alignment between streams. The first chunks can still be less optimal aligned
* | mux: de-obfuscate chunked interleaver checksMichael Niedermayer2013-01-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mux: simplify chunking interleaver codeMichael Niedermayer2013-01-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mux: fix chunked interleaverMichael Niedermayer2013-01-16
| | | | | | | | | | | | | | | | | | The code did not account properly for packets that where added to the end of the packet list. Also flags for such packets where not set correctly leading to incorrect chunked interleaving. Reported-by: bcoudurier Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mux: fix chunked_duration rounding anomalyMichael Niedermayer2013-01-16
| | | | | | | | | | | | | | | | a small value was rounded to 0 and then treated special as if chunked_duration was 0. This led to a inconsistency that further led to wrong interleaving Signed-off-by: Michael Niedermayer <michaelni@gmx.at>