Michael Niedermayer
2e4ec8947d
lavf: fill in past dts based on reordered pts once the delay becomes known.
...
Previously we had ignored the past dts and just filled in from the
point where we have had sufficient information.
This should fix Ticket1734
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
a8e3815db5
lavf: factorize timestamp shift in update_initial_timestamps()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
3ba0dab76a
lavf: Add support offset timestamps on muxing.
...
This allows avoiding negative timestamps.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
299c0b30a6
lavf: fix bug that caused has_decode_delay_been_guessed() to never return !=0
...
Possibly fixes Ticket1724
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Duncan Salerno
4b80a619b7
Handle the following type of relative URL correctly:
...
http://a/b + //c/d = http://c/d
http://a/b?c + ?d = http://a/b?d
http://a/b?c/d + /e = http://a/e
Updated with feedback from Clément Bœsch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Clément Bœsch
4390f8c28d
Fix two "skiping" typo.
12 years ago
Michael Niedermayer
6bcbe768bb
lavf: dont add apic streams for demuxers that dont support it.
...
Fixes crash
Fixes ticket1730
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Stefano Sabatini
bbe9fe469a
lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
...
The loop was introduced in 64d340c62a
, and
was likely breaking non blocking reads as it busy loops.
12 years ago
Anton Khirnov
9eb296572e
lavf: use a malloced AVFrame in try_decode_frame().
...
This allows using avcodec_free_frame() to free it properly.
12 years ago
Stefano Sabatini
64d340c62a
lavf/utils: add error check in av_read_frame()
...
In particular, fix crash when the input file contains no packets (e.g. an
ffmeta input).
12 years ago
Michael Niedermayer
21c4393f1c
lavf/find_stream_info: make sure we decode at least one frame for DTS
...
The channel layout at the demuxer layer is commonly wrong and would
otherwise be used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
61a84755a9
lavf: dont open a decoder at the top of find_stream_info before probing has finished
...
It could open the wrong decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
a380f82c53
lavf: allow using request_probe as a score threshold to accept a codec
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
1cc569ddda
lavf: zero data/size of the packet passed to read_packet().
12 years ago
Janne Grunau
6746cd7f61
lavf probe: prevent codec probe with no data at all seen
...
This occurs with fuzzed mpeg-ts files. set_codec_from_probe_data() is
called with a zeroed AVProbeData since no packet made through for
specific stream.
12 years ago
Reimar Döffinger
07d2d06395
Remove code that duplicates existing code a few lines down.
...
This also fixes a potential crash since s->pb can be NULL.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
12 years ago
Luca Barbato
3f7fd59d15
avformat: fix typo in avformat_close_input
...
The condition should not be &&.
12 years ago
Anton Khirnov
3b4bb19e63
lavf: flush the output AVIOContext in av_write_trailer().
...
This is consistent with stdio and is what we want to do in all cases.
Fixes a bug in the voc muxer which didn't flush in write_trailer()
previously. This is the cause of the change in the test results.
12 years ago
Anton Khirnov
0c270239c2
lavf: cosmetics, reformat av_write_trailer().
12 years ago
Michael Niedermayer
e2d643efcd
lavf/compute_pkt_fields: only run pts by duration correction if reference ts is available
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Luca Barbato
44272c1ccc
avformat: refactor avformat_close_input
...
Do not crash if the input format is not allocated yet.
12 years ago
Luca Barbato
4d1f443c3d
avformat: simplify avformat_close_input
...
avio_close checks by itself for NULL condition.
12 years ago
Michael Niedermayer
062091f87f
compute_pkt_fields2: dont interpret max_b_frames of <0 as there being b frames.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
8470e6c96f
lavf/avformat_seek_file: fix harmless integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
41dba453f9
utils/update_stream_timings: fix division by zero
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b422e2c58a
compute_pkt_fields: fix harmless integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
8a0118b4b4
ffio_read: dont spam the user at EOF with a truncation error
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
25f139e72f
lavf/utils: fix typo in has_codec_parameters
...
Replace "unspecified sample size" with "unspecified frame size". +10l.
13 years ago
Michael Niedermayer
a7fbc7d7b7
lavf: factor codec id forcing out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
29e972f67c
lavu/parseutils: add av_small_strptime()
...
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.
In particular, fix trac ticket #992 .
13 years ago
Clément Bœsch
5620088494
lavf: fix a few typo in some comments.
13 years ago
Clément Bœsch
9d9f34a3c1
lavf: remove a few useless AV_NOWARN_DEPRECATED().
...
read_seek was undeprecated in e5c708151
.
13 years ago
Michael Niedermayer
19d8954966
find_stream_info: update last_dts more often
...
This improves dts validity checks and consequently fps detection of files with invalid dts
Fixes Ticket1681
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
12b1512e85
lavf/utils: Try to unwrap pts/dts so as to minimize wraps
...
Based on code by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
254917f078
lavf/utils: run update_initial_timestamps() outside some if()
...
This way it gets executed earlier and updated timestamps become available earlier.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Clément Bœsch
26ec392a0e
lavf: remove unused AVStream pointer.
13 years ago
Clément Bœsch
3dba9e19c8
lavf: add const qualifier to AVCodecDescriptor pointer in is_intra_only().
...
Fix "assignment discards ‘const’ qualifier from pointer target type" warnings.
13 years ago
Michael Niedermayer
85a576775e
lavf: factor ff_free_stream() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
28ff17fa97
lavf: add use_wallclock_as_timestamps
...
This may fix Ticket730
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
edb5238ccb
libavformat: add const to AVCodec pointers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Michael Niedermayer
11f8f2c0f3
avformat: export queue_attached_pictures
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Andrey Utkin
aec9390a9d
Check for avio fail in avformat_write_header, av_write_frame
...
With minor changes by michael
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Nicolas George
b1511e00f6
lavf: probe PGS subtitles definition.
...
The resolution is in the packets, so decoding must happen.
Since most other formats do not set the dimension, make it
a special case for PGS. If other codecs were to have the
same requirement, using a CODEC_CAP would be preferred.
13 years ago
Michael Niedermayer
d5c90ff23b
lavf: reimplement is_intra_only() by using the AVCodecContext codec descriptor
...
This also changes behavior as the descriptor table is more complete than
the switch/case it replaces. As well as considering all non video as
intra only
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Martin Storsjö
bdefe22b8e
lavf: Detect discontinuities in timestamps for framerate/analyzeduration calculation
...
If the dts difference is more than 1000 times the average dts
difference, restart the analysis.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
30c26c2442
lavf: Initialize the stream info timestamps in avformat_new_stream
...
These are normally initialized to AV_NOPTS_VALUE at the start
of avformat_find_stream_info, but if a new stream is found while
this function is running (e.g. like in mpegts), the newly added
AVStreams didn't have these values properly initalized, leading
to avformat_find_stream_info terminating too soon (when the
first timestamps are far from 0).
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Michael Niedermayer
a036ac5782
lavf: do not discard correct dts in favor of wrong pts for vc1-wmapro.ism
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Anton Khirnov
885da7b082
lavf: simplify is_intra_only() by using codec descriptors.
13 years ago
Mans Rullgard
987170cb9d
dict: add av_dict_count()
...
This adds a function to retrieve the number of entries in a
dictionary and updates the places directly accessing what should
be an opaque struct to use this new function instead.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Michael Niedermayer
b615dbb319
lavf: block special characters in dump metadata
...
This is limited to the chars that arent filtered by av_log() already
we might filter more aggressively if theres some case where this becomes
needed.
Fixes Ticket1181
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago