Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:26 +0000 (21:19 +0300)]
libavcodec: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:25 +0000 (21:19 +0300)]
libavutil: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:24 +0000 (21:19 +0300)]
libavutil: add avpriv_open() to open files with close-on-exec flag
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Vittorio Giovara [Fri, 2 Aug 2013 07:25:45 +0000 (09:25 +0200)]
mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Wed, 7 Aug 2013 07:46:38 +0000 (10:46 +0300)]
rtsp: Don't include the listen flag in the SDP demuxer flags
It's only relevant for the RTSP demuxer. Similarly, the custom_io
flag is only present in the SDP demuxer options list.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Tue, 6 Aug 2013 07:57:05 +0000 (09:57 +0200)]
deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.
Martin Storsjö [Wed, 7 Aug 2013 07:20:07 +0000 (10:20 +0300)]
rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 7 Aug 2013 07:07:48 +0000 (10:07 +0300)]
rtspenc: Check the return value from ffio_open_dyn_packet_buf
Also clear the AVIOContext handle after freeing, to avoid
possible dangling pointers if the later call fails.
Signed-off-by: Martin Storsjö <martin@martin.st>
Christian Schmidt [Tue, 6 Aug 2013 08:21:42 +0000 (10:21 +0200)]
pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Tue, 6 Aug 2013 00:36:17 +0000 (02:36 +0200)]
configure: Properly split dv1394 indev dependencies
Diego Biurrun [Tue, 6 Aug 2013 00:31:33 +0000 (02:31 +0200)]
configure: Properly set zlib dependencies for all components
Diego Biurrun [Mon, 5 Aug 2013 21:05:30 +0000 (23:05 +0200)]
configure: The W64 demuxer should select the WAV demuxer, not depend on it
Diego Biurrun [Tue, 27 Nov 2012 20:48:34 +0000 (21:48 +0100)]
configure: Properly split avserver component and system dependencies
Diego Biurrun [Sun, 4 Aug 2013 12:33:36 +0000 (14:33 +0200)]
riff: Move demuxing code to a separate file.
Diego Biurrun [Sun, 4 Aug 2013 12:10:54 +0000 (14:10 +0200)]
riff: Move muxing code to a separate file
Diego Biurrun [Tue, 6 Aug 2013 00:55:02 +0000 (02:55 +0200)]
avformat/dv: K&R formatting cosmetics
Martin Storsjö [Mon, 5 Aug 2013 16:44:20 +0000 (19:44 +0300)]
tcp: Use a different log message and level if there's more addresses to try
This lowers the level of warnings printed if trying to connect
to a host name that provides both v6 and v4 addresses but the
service only is available on the v4 address (often occurring for
'localhost', with servers that aren't v6-aware).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 5 Aug 2013 16:39:08 +0000 (19:39 +0300)]
unix: Convert from AVERROR to errno range before comparing error codes
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 5 Aug 2013 20:28:26 +0000 (22:28 +0200)]
avcodec/options: Drop deprecation warning suppression macros
The options table is used in tools built by the host compiler and the
deprecation macros pull in bits that are not safe to use if host and
target compiler differ.
Diego Biurrun [Sun, 4 Aug 2013 12:08:47 +0000 (14:08 +0200)]
riff.h: Remove stray extern declaration for non-existing symbol
Kostya Shishkov [Sun, 4 Aug 2013 15:18:34 +0000 (17:18 +0200)]
twinvq: Split VQF-specific part from common TwinVQ decoder core
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Mon, 5 Aug 2013 10:37:01 +0000 (12:37 +0200)]
twinvq: Prefix enums and defines shared with VoxWare MetaSound
Kostya Shishkov [Sun, 4 Aug 2013 15:17:25 +0000 (17:17 +0200)]
twinvq: move all bitstream reading into single place
This is required for the future addition of VoxWare MetaSound decoder, for its
functions are mostly the same but bitstream reader is completely different
and bitstream format is slightly different too.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Ben Avison [Mon, 5 Aug 2013 12:12:49 +0000 (13:12 +0100)]
mpegts: Remove one 64-bit integer modulus operation per packet
The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.
Before After
Mean StdDev Mean StdDev Change
Divisions 248.3 8.8 51.5 7.4 +381.7%
Overall 2773.2 25.6 2372.5 43.1 +16.9%
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Mon, 5 Aug 2013 04:30:24 +0000 (06:30 +0200)]
vc1: check mb_height validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Mon, 5 Aug 2013 04:27:12 +0000 (06:27 +0200)]
vc1: check the source buffer in vc1_mc functions
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sun, 4 Aug 2013 16:48:20 +0000 (18:48 +0200)]
bink: Bound check the quantization matrix.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sat, 3 Aug 2013 13:00:11 +0000 (15:00 +0200)]
network: Use SOCK_CLOEXEC when available
Luca Barbato [Mon, 29 Jul 2013 23:34:56 +0000 (01:34 +0200)]
lavf: Support unix sockets
Luca Barbato [Mon, 5 Aug 2013 11:23:52 +0000 (13:23 +0200)]
libx264: add shortcut for the bluray compatibility option
As for intra-refresh it is just a commodity.
Ben Avison [Mon, 5 Aug 2013 12:12:51 +0000 (13:12 +0100)]
mpegts: Make discard_pid() faster for single-program streams
When a stream contains a single program, there's no point in doing a
PID -> program lookup. Normally the one and only program isn't disabled,
so no packets should be discarded.
Before After
Mean StdDev Mean StdDev Change
discard_pid() 73.8 9.4 20.2 1.5 +264.8%
Overall 2300.8 28.0 2253.1 20.6 +2.1%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Wed, 31 Jul 2013 22:46:08 +0000 (23:46 +0100)]
mpegts: Remove one memcpy per packet
This was being performed to ensure that a complete packet was held in
contiguous memory, prior to parsing the packet. However, the source buffer
is typically large enough that the packet was already contiguous, so it is
beneficial to return the packet by reference in most cases.
Before After
Mean StdDev Mean StdDev Change
memcpy 720.7 32.7 649.8 25.1 +10.9%
Overall 2372.7 46.1 2291.7 21.8 +3.5%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Wed, 31 Jul 2013 22:46:08 +0000 (23:46 +0100)]
avio: Add an internal function for reading without copying
As long as there is enough contiguous data in the avio buffer,
just return a pointer to it instead of copying it to the caller
provided buffer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Sun, 4 Aug 2013 23:43:13 +0000 (01:43 +0200)]
build: Add missing img2.o dependency to apetag.o
Diego Biurrun [Sun, 4 Aug 2013 22:06:06 +0000 (00:06 +0200)]
ismindex: Replace mkdir ifdeffery by os_support.h #include
os_support.h contains more precise workarounds for non-POSIX mkdir().
Rémi Denis-Courmont [Thu, 25 Jul 2013 19:30:21 +0000 (22:30 +0300)]
vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Thu, 25 Jul 2013 19:30:20 +0000 (22:30 +0300)]
vdpau: store picture data in picture's rather than codec's context
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Thu, 25 Jul 2013 19:30:19 +0000 (22:30 +0300)]
vdpau: deprecate VDPAU codec capability
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Thu, 25 Jul 2013 19:30:18 +0000 (22:30 +0300)]
vdpau: deprecate old codec-specific pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rémi Denis-Courmont [Thu, 25 Jul 2013 19:30:17 +0000 (22:30 +0300)]
vdpau: remove old-style decoders
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 18 Jun 2013 09:12:09 +0000 (11:12 +0200)]
avconv: support -t as an input option.
It limits the duration of the data read from a given input.
Anton Khirnov [Sat, 15 Jun 2013 07:59:40 +0000 (09:59 +0200)]
avconv: make input -ss accurate when transcoding
Insert (a)trim filters on the corresponding inputs, so the extra frames
are decoded and discarded.
Anton Khirnov [Sat, 15 Jun 2013 07:35:10 +0000 (09:35 +0200)]
avconv: distinguish between -ss 0 and -ss not being used
Using -ss 0 to drop frames with negative timestamps is a perfectly valid
use case.
Anton Khirnov [Fri, 14 Jun 2013 16:25:30 +0000 (18:25 +0200)]
avconv: insert extra filters in the same way for both graph inputs and outputs
This will allow using the same code when one filter can be inserted both
on input and output.
Anton Khirnov [Sun, 4 Aug 2013 10:10:23 +0000 (12:10 +0200)]
lavfi/fifo: fix flushing when using request_samples
If any samples are still buffered when request_frame returns EOF, they
won't be returned currently.
Anton Khirnov [Sun, 4 Aug 2013 14:38:25 +0000 (16:38 +0200)]
avconv: fix usage of deprecated lavfi API
Anton Khirnov [Sun, 4 Aug 2013 16:47:22 +0000 (18:47 +0200)]
avserver: do not use a static string as a default for a string option
Fixes an invalid free.
Bug-id: 448
Alexandra Khirnova [Fri, 2 Aug 2013 17:21:24 +0000 (19:21 +0200)]
mxfenc: switch to av_reallocp_array() and check allocation errors
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Sun, 4 Aug 2013 13:14:25 +0000 (15:14 +0200)]
aac: Forward errors properly in aac_decode_frame_int
Incidentally also remove a warning.
Luca Barbato [Sun, 4 Aug 2013 13:00:02 +0000 (15:00 +0200)]
aac: Check init_get_bits return value
Some code paths can call it with invalid length.
CC: libav-stable@libav.org
Anton Khirnov [Fri, 14 Jun 2013 16:12:23 +0000 (18:12 +0200)]
avconv: improve some variable names
'filter' is too generic, since the functions in question deal with
several filters.
Also add const qualifiers to those variables.
Anton Khirnov [Fri, 14 Jun 2013 16:14:33 +0000 (18:14 +0200)]
lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()
This function should never modify the filter.
Diego Biurrun [Fri, 2 Aug 2013 20:03:09 +0000 (22:03 +0200)]
configure: Check for GCC diagnostic pragma support inside of functions
The actual usage of the pragma is within functions and older versions
of gcc only support the pragma outside of functions.
Yusuke Nakamura [Fri, 2 Aug 2013 09:16:48 +0000 (18:16 +0900)]
avcodec: Add output_picture_number to AVCodecParserContext
Set output_picture_number in H.264 parser.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Wed, 27 Mar 2013 17:36:51 +0000 (18:36 +0100)]
Disable deprecation warnings for cases where a replacement is available
Diego Biurrun [Wed, 27 Mar 2013 17:23:01 +0000 (18:23 +0100)]
build: Add _Pragma macro to disable deprecated declaration warnings
Diego Biurrun [Thu, 1 Aug 2013 12:41:34 +0000 (14:41 +0200)]
doc/print_options: Move options headers to a saner place
Diego Biurrun [Thu, 1 Aug 2013 12:35:01 +0000 (14:35 +0200)]
Give less generic names to global library option arrays
Gavriloaie Eugen-Andrei [Fri, 2 Aug 2013 09:29:23 +0000 (12:29 +0300)]
rtmp: Add seek support
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Fri, 2 Aug 2013 08:33:00 +0000 (10:33 +0200)]
h264_sei: Return meaningful values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Vittorio Giovara [Wed, 31 Jul 2013 08:13:22 +0000 (10:13 +0200)]
h264_sei: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Wed, 31 Jul 2013 16:07:53 +0000 (18:07 +0200)]
h264_sei: Remove pointless old comment
Diego Biurrun [Tue, 30 Jul 2013 17:42:21 +0000 (19:42 +0200)]
twinvq: Add proper twinvq prefixes to identifiers
Diego Biurrun [Wed, 31 Jul 2013 21:56:26 +0000 (23:56 +0200)]
flvdec: Eliminate completely silly goto
Diego Biurrun [Wed, 31 Jul 2013 22:10:40 +0000 (00:10 +0200)]
flvdec: K&R formatting cosmetics
Diego Biurrun [Wed, 31 Jul 2013 21:59:05 +0000 (23:59 +0200)]
flvdec: Fix = vs. == typo in sample rate check
Martin Storsjö [Thu, 1 Aug 2013 06:51:10 +0000 (09:51 +0300)]
rtsp: Simplify code for forming the remote peer url
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Tue, 30 Jul 2013 15:39:07 +0000 (17:39 +0200)]
avframe: have av_frame_get_side_data take const AVFrame*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Wed, 31 Jul 2013 08:48:28 +0000 (11:48 +0300)]
rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url
A separate rtcp port can already be set when opening the rtp
protocol normally, but when doing port setup as in RTSP (where
we first need to open the local ports and pass them to the peer,
and only then receive the remote peer port numbers), we didn't
check the same url parameter as in the normal open routine.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 31 Jul 2013 09:45:33 +0000 (12:45 +0300)]
rtpproto: Check the size before reading buf[1]
I doubt that anyone ever would try to send a 1 byte packet
via the RTP protocol, but check just in case - it shouldn't
crash at least.
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Wed, 31 Jul 2013 12:48:49 +0000 (14:48 +0200)]
avconv: add -n option to immediately exit when output files already exist
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 31 Jul 2013 10:44:17 +0000 (13:44 +0300)]
avconv: Call exit_program instead of exit in avconv_opt as well
This seems to have been missed in
636ced8e1dc.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 11:53:01 +0000 (14:53 +0300)]
avopt: Check whether the object actually has got an AVClass
AVIOContext has got an av_class member that only gets set if
opening the context using avio_open2, but not if allocating a
custom IO context. A caller that wants to read AVOptions from
an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may
not know if the AVIOContext actually has got a class set or not.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 31 Jul 2013 09:29:32 +0000 (12:29 +0300)]
rtpproto: Move rtpproto specific function declarations to a separate header
Mixing these with the rtp depacketizer functions in rtpdec.h is
no good.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 31 Jul 2013 09:21:47 +0000 (12:21 +0300)]
rtpproto: Simplify the rtp_read function by looping over the fds
This avoids having duplicate code where only the fd parameter
differs.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 31 Jul 2013 09:17:51 +0000 (12:17 +0300)]
rtpproto: Remove a misplaced comment
The fdset is a pollfd array nowadays, and it is already populated
at this point.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 26 Jul 2013 17:24:06 +0000 (20:24 +0300)]
rtpproto: Support nonblocking reads
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 9 Jan 2013 16:55:52 +0000 (18:55 +0200)]
rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 29 Jul 2013 18:49:53 +0000 (20:49 +0200)]
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
Diego Biurrun [Tue, 30 Jul 2013 15:28:44 +0000 (17:28 +0200)]
tree-test: Refactor and plug memory leaks
With the most annoying memory leak found by Derek Buitenhuis.
Diego Biurrun [Tue, 30 Jul 2013 17:41:47 +0000 (19:41 +0200)]
tree.h: K&R formatting and typo cosmetics
Michael Niedermayer [Wed, 25 Jul 2012 15:40:33 +0000 (17:40 +0200)]
hls: Call avformat_find_stream_info() on the chained demuxers
This allows the chained demuxer (or more precisely, the lavf
utility code) to better fill in timestamps on packets from
these, especially for cases where one stream is a raw ADTS
stream.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 29 Jul 2013 18:48:47 +0000 (20:48 +0200)]
Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents
Ed Torbett [Fri, 26 Jul 2013 10:38:00 +0000 (11:38 +0100)]
rtsp: Support RFC4570 (source specific multicast) more properly.
Add support for domain names, for multiple source addresses,
for exclusions, and for session level specification of addresses.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Fri, 26 Jul 2013 19:37:00 +0000 (22:37 +0300)]
rtpproto: Support more than one SSM include address, support excludes
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Fri, 26 Jul 2013 19:05:21 +0000 (22:05 +0300)]
udp: Keep track of include and exclude sources separately
This allows us to explicitly fail if the caller tried to set
both inclusions and exclusions at the same time.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Fri, 26 Jul 2013 18:54:29 +0000 (21:54 +0300)]
udp: Allow specifying multicast include/blocks as host names as well
Previously this only allowed literal IP addresses. When these
are conveyed in a SDP file as in RFC4570, host names are allowed
as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 29 Jul 2013 17:39:51 +0000 (19:39 +0200)]
avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Also fix some similar typos in comments and documentation.
Diego Biurrun [Mon, 29 Jul 2013 16:23:08 +0000 (18:23 +0200)]
configure: Detect AIX ar command instead of hardcoding it in the OS section
Diego Biurrun [Wed, 17 Oct 2012 17:43:41 +0000 (19:43 +0200)]
fate: Add tree test
Diego Biurrun [Tue, 16 Oct 2012 14:08:58 +0000 (16:08 +0200)]
avutil/tree: Drop debug messages that clutter the output
Diego Biurrun [Tue, 16 Oct 2012 14:08:05 +0000 (16:08 +0200)]
avutil/tree: K&R formatting cosmetics
Diego Biurrun [Fri, 5 Oct 2012 17:37:10 +0000 (19:37 +0200)]
fate: Add timefilter test
Martin Storsjö [Mon, 29 Jul 2013 08:27:44 +0000 (11:27 +0300)]
hls: Free packets when skipping packets when seeking
This fixes memory leaks present since
2b3d041cdc.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:27:09 +0000 (10:27 +0300)]
hlsproto: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:26:02 +0000 (10:26 +0300)]
hls: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.
This is based on a patch by Zhang Rui.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:09:02 +0000 (10:09 +0300)]
hls: Store first_timestamp in units of AV_TIME_BASE
When first_timestamp was stored as-is, its actual time base
wasn't known later in the seek function.
Additionally, the logic (from
795d9594cfa) for scaling it
based on stream_index is flawed - stream_index in the seek
function only specifies which stream the seek timestamp refers
to, but obviously doesn't say anything about which stream
first_timestamp belongs to.
In the cases where stream_index was >= 0 and all streams had the
same time base, this didn't matter in practice.
Seeking taking first_timestamp into account is problematic
when one variant is mpegts (with real timestamps) and one variant
is raw ADTS (with timestamps only being accumulated packet
duration), where the variants start at totally different timestamps.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 10 Mar 2013 10:16:33 +0000 (11:16 +0100)]
huffyuvenc: BGRA support
Bug-Id: 452
Signed-off-by: Diego Biurrun <diego@biurrun.de>
LYF [Fri, 16 Nov 2012 06:12:27 +0000 (14:12 +0800)]
hls: Create an AVProgram for each variant
Without the information, an application may choose audio from one
variant and video from another variant, which leads to fetching two
variants from the network. This enables av_find_best_stream() to find
matching audio and video streams, so that only one variant is fetched.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 20 Aug 2012 23:00:05 +0000 (01:00 +0200)]
hls: Respect the different stream time bases when comparing dts
Also adjust the streams timestamps according to their start
timestamp when comparing. This helps getting correctly interleaved
packets if one stream lacks timestamps (such as a plain ADTS
stream when the other variants are full mpegts) when the others
have timestamps that don't start from zero.
This probably doesn't work properly if such a stream is
temporarily disabled (via the discard flags) and then reenabled,
and such streams are hard to correctly sync against the other
streams as well - but this works better than before at least.
The segment number restriction makes sure all variants advance
roughly at the same pace as well.
Signed-off-by: Martin Storsjö <martin@martin.st>