This way if we by chance run into a valid PMT we have a more complete
set of streams, also do not reset streams in case we run into a worse
PMT
Fixes Ticket4046
alternatively Ticket4046 could be closed as invalid or wontfix as it contains
some PMTs which lack the 2 subtitle streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2f221b6a9365aa400061e16266f2d1242f7169f8':
movenc: Define the flag bits using shifts instead of as decimal numbers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Avoid the creation of files which cannot be successfully decoded by
ffmpeg, for example generated with:
ffmpeg -f lavfi -i sine -af "aselect='not(between(t,100,500))',aresample=min_comp=0.001:min_hard_comp=0.100000" -acodec pcm_s16le -t 1000 -y out_audio.flv
* commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a':
movenc: Don't write any iso brands in ismv files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a':
movenc: Don't write any tfdt atom for ismv files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '00c67fe1d0bc7c2ce49daac9c80ea39d5a663b73':
movenc: Write a 0 duration in mdhd and tkhd for an empty initial moov
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1':
movenc: Add a flag for using default-base-is-moof in tfhd atoms
Conflicts:
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The tfdt atom shouldn't be needed in those cases, we already
write tfxd atoms for ismv anyway, which is roughly equivalent.
This avoids having to declare the iso6 brand for ismv files.
Signed-off-by: Martin Storsjö <martin@martin.st>
ISO/IEC 14496-12:2012/Cor 1:2013 is explicit about how this should be
handled. All zeros doesn't mean that the full file has got a zero
duration, only that the track samples described within the initial moov
have got zero duration. An all ones duration means an indeterminate
duration.
Keep writing a duration consisting of all ones for the ISM mode -
older windows media player versions won't play a file if this is
zero. (Newer windows media player versions play either version fine.)
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '600d5ee6b12bad144756b0772319bb04796bc528':
movenc: Signal iso6 in compatible_brands when using tfdt
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b2b79eca6fae2466a53c5daa163a37e2474364fc':
movenc: Don't check the custom IO flag when using faststart
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '573b1de2d7f1db71030f91ecdded7d0bc071f6b6':
movenc: Don't use track_id to decide which track is the first in a moof
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Similarly to the omit_tfhd_offset flag added in e7bf085b, this
avoids writing absolute byte positions to the file, making them
more easily streamable.
This is a new feature from 14496-12:2012, so application support
isn't necessarily too widespread yet (support for it in libav was
added in 20f95f21f in July 2014).
Signed-off-by: Martin Storsjö <martin@martin.st>
The custom IO flag actually never is set for muxers, only for
demuxers, so the check was pointless (unless a user intentionally
would set the flag to signal using custom IO).
Signed-off-by: Martin Storsjö <martin@martin.st>
If one track doesn't have any samples within a moof, no traf/trun
is written for it. When the omit_tfhd_offset flag is set, none
of the tfhd atoms have any base_data_offset set, and the implicit
offset (end of previous track fragment data, or start of the moof
for the first trun) is used.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'f64d7e919eabd427f3e6dd4a1219e448c78deb42':
mtv: improve header check and avoid division by zero
Conflicts:
libavformat/mtv.c
See: 8b9b6332df
Merged-by: Michael Niedermayer <michaelni@gmx.at>
add support for AVC Intra 50 720p and 1080p without SPS/PPS header in mxf and mov demuxers. I got the SPS/PPS tables from libbmx.
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
To keep h264 parsing simple and fast, I used the framesize for selecting the right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.
This patch only supports AVCI50/100. But in all flavours, i.e. with no SPS/PPS in header.
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
FooterPartition offset specified in RIP takes precedence over any value written
in PartitionPacks. This fixes the same issue f06f6da tries to fix without
introducing an extra variable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Without this patch the demuxer can get stuck in a loop if PreviousPartition
points somewhere where there's no PartitionPack, or if klv_read_packet() syncs
back up to the current partition.
This should fix Ticket3278 properly and unbreak Ticket4040.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>