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
Michael Niedermayer
a286940da1
mux: also call avio_flush() when flushing the muxer
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:31:12 +02:00
Nicolas George
4f112a8e34
lavf/mux: add the flush_packets option.
...
Note: a lot of muxers already do the flushing explicitly.
2013-03-24 23:19:07 +01:00
Michael Niedermayer
06a8350599
Merge commit '7b486ab13bfcfa88a7cd92586de50e49966ec292'
...
* 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>
2013-03-13 12:37:03 +01:00
Anton Khirnov
32e5194969
lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft
2013-03-11 18:23:10 +01:00
Michael Niedermayer
2653e12520
Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
...
* 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>
2013-03-08 19:12:03 +01:00
Anton Khirnov
1afddbe59e
avpacket: use AVBuffer to allow refcounting the packets.
...
This will allow us to avoid copying the packets in many cases.
This breaks ABI.
2013-03-08 07:33:45 +01:00
Michael Niedermayer
46730e7a0c
mux/chunked interleaver: better align duration chunks.
...
This code causes the chunking to tend toward more optimal
alignment between streams.
The first chunks can still be less optimal aligned
2013-01-17 15:11:02 +01:00
Michael Niedermayer
69a96f9d4c
mux: de-obfuscate chunked interleaver checks
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 15:08:50 +01:00
Michael Niedermayer
c57c1329a9
mux: simplify chunking interleaver code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 14:45:30 +01:00
Michael Niedermayer
1191db31c1
mux: fix chunked interleaver
...
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>
2013-01-16 20:22:58 +01:00
Michael Niedermayer
cae11e4031
mux: fix chunked_duration rounding anomaly
...
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>
2013-01-16 13:49:02 +01:00
Michael Niedermayer
d641ee94b5
lavf: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:55 +02:00
Michael Niedermayer
1ac5a8d7e3
lavf/mux: Fix assignments in if()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:41 +01:00
Clément Bœsch
119d70db50
lavf/mux: do not pass a copy of the packet to write_packet().
...
Sometimes the muxer modifies the packet, like for instance lavf/mp3enc
changing pkt->destruct in order to keep a copy. These changes must be
kept, even though the muxer behaviour is questionable. Regression since
0072116
.
Fixes #2124 .
2013-01-08 23:21:05 +01:00
Clément Bœsch
0072116ccb
lavf: split packets before muxing.
...
After demuxing, data and side are merged. Before decoding, they are
split. Encoder will perform with data and side split. This means that a
muxer can receive split data (after encoding) but also merged data (if
called directly after demuxing). This commit makes sure data and side
are split for the muxer.
2012-12-20 16:13:52 +01:00
Michael Niedermayer
f2a7e1a62b
mux: change 1 assert->av_assert1()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Michael Niedermayer
5e6439a125
ff_choose_timebase: only try factors upto 14
...
otherwise a unexpected timebase could be choosen
that is one that is thousand times more precisse than requested
which can have sideeffects.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:38:56 +02:00
Michael Niedermayer
de707bc8bd
mux/nut: factorize ff_choose_timebase() out of nut
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:34:43 +02:00
Michael Niedermayer
dd78e1090b
Merge commit '1e46c63eb72be752e044ba32257d77f35cbd9dac'
...
* commit '1e46c63eb72be752e044ba32257d77f35cbd9dac':
avformat: refactor avformat_write_header
Conflicts:
libavformat/mux.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:48:56 +02:00
Michael Niedermayer
6cbbf4a274
Merge commit '86bbdf865e04bc5ddc2021b0620e6de634375253'
...
* commit '86bbdf865e04bc5ddc2021b0620e6de634375253':
avformat: refactor avformat_write_header
Conflicts:
libavformat/mux.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:36:09 +02:00
Michael Niedermayer
513042c926
Merge commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd'
...
* commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd':
avformat: split muxing functions from util.c
Conflicts:
libavformat/internal.h
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:20:24 +02:00
Luca Barbato
1e46c63eb7
avformat: refactor avformat_write_header
...
Split away option settings, sanity checks and general setup.
2012-10-01 19:57:57 +02:00
Luca Barbato
86bbdf865e
avformat: refactor avformat_write_header
...
Mostly cosmetic changes adding some intermediate to shorten the lines.
2012-10-01 19:57:57 +02:00
Luca Barbato
55f9037f38
avformat: split muxing functions from util.c
2012-10-01 19:57:57 +02:00