Michael Niedermayer
04ddace9e8
avformat/utils: Print analyze duration and probesize when printing a suggestion to increase them
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-14 19:17:07 +02:00
Michael Niedermayer
70277f1232
avformat/oggdec: Disable mid stream codec changes
...
Fixes: 22082/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5688619118624768
Fixes: crash from V-codecs/Theora/theora_testsuite_broken/multi2.ogg
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Suggested-by: Lynne on IRC
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-14 18:34:59 +02:00
Michael Niedermayer
9b5fc789fb
avformat/ape: Cleanup after ape_read_header() failure
...
Fixes: memleaks
Fixes: 23306/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5635436931448832
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-14 18:20:37 +02:00
David Holroyd
ffc1208266
lavf/prompeg: prompeg_write() must report data all was written
...
Previously, prompeg_write() would only report to caller that bytes we
written when a FEC packet was actually created. Not all RTP packets are
expected to generate a FEC packet however, so this behavior was causing
avio to retry writing the RTP packet, eventually forcing the FEC state
machine to send a FEC packet erroneously (and so breaking out of the
retry loop).
This was resulting in incorrect FEC data being generated, and far too
many FEC packets to be sent (~100% FEC overhead).
fix #7863
Signed-off-by: David Holroyd <david.holroyd@m2amedia.tv >
2020-06-14 12:27:49 +08:00
Paul B Mahol
416dc133b9
avformat/sccdec: move pos variables outside of loop
...
Ensures that sub->pos is always correct.
2020-06-13 12:26:00 +02:00
Michael Niedermayer
0e15b01b4e
avformat/thp: Check fps
...
Fixes: division by zero
Fixes: 23162/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-4856420817436672
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-13 00:43:09 +02:00
Michael Niedermayer
9a42a67c5c
avformat/mpl2dec: Fix integer overflow with duration
...
Fixes: signed integer overflow: 9223372036854775807 - -1 cannot be represented in type 'long'
Fixes: 23167/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-6425051741290496
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-13 00:43:09 +02:00
Dale Curtis
bf446711bc
avformat/mov: Check if DTS is AV_NOPTS_VALUE in mov_find_next_sample().
...
Signed-off-by: Dale Curtis <dalecurtis@chromium.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-13 00:43:09 +02:00
Paul B Mahol
49d07642f3
avformat/sccdec: split line with multiple subs
2020-06-13 00:20:55 +02:00
Andreas Rheinhardt
c33e56c7a6
avformat/aviobuf: Also return truncated buffer in avio_get_dyn_buf()
...
Two kinds of errors can happen when working with dynamic buffers:
(Re)allocation errors or truncation errors (one has to truncate the
buffer to a size of INT_MAX because avio_close_dyn_buf() and
avio_get_dyn_buf() both return an int). Right now, avio_get_dyn_buf()
returns an empty buffer in either case. But given that
avio_get_dyn_buf() does not destroy the dynamic buffer, one can return
the buffer in case of truncation and let the user check the error flags
and decide for himself instead of hardcoding a single way to proceed
in case of truncation.
(This actually restores the behaviour from before commit
163bb9ac0af495a5cb95441bdb5c02170440d28c.)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-06-11 04:03:38 +02:00
Andreas Rheinhardt
7be9b0bb38
avformat/aviobuf: Return better error codes
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-06-11 03:29:22 +02:00
Andreas Rheinhardt
fa0bc627c5
avformat/aviobuf: Stop restricting dynamic buffer sizes to INT_MAX/2
...
This has originally been done in 568e18b15e
as a precaution against integer overflows, but it is actually easy to
support the full range of int without overflows.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-06-11 03:09:56 +02:00
Andreas Rheinhardt
88d5ae068f
avformat/aviobuf: Simplify dyn_buf_write() a bit
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-06-11 02:01:56 +02:00
Andreas Rheinhardt
28a078eded
avformat/aviobuf: Don't check for overflow after it happened
...
If adding two ints overflows, it doesn't matter whether the result will
be stored in an unsigned or not; and checking afterwards does not make it
retroactively defined.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-06-11 01:18:54 +02:00
Anton Khirnov
7aa7d68971
AVFormatContext: switch to child_class_iterate()
2020-06-10 12:36:44 +02:00
Anton Khirnov
2cbd544519
AVIOContext: switch to child_class_iterate()
2020-06-10 12:36:44 +02:00
Anton Khirnov
43ed2b86d6
URLContext: switch to child_class_iterate()
2020-06-10 12:36:44 +02:00
Anton Khirnov
202e06870e
lavf/dump: schedule use of deprecated API for removal
2020-06-10 11:35:17 +02:00
Steven Liu
9dfb19baeb
avformat/hls: check segment duration value of EXTINF
...
fix ticket: 8673
set the default EXTINF duration to 1ms if duration is smaller than 1ms
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2020-06-10 09:22:37 +08:00
Steven Liu
ea1940c6e2
avformat/hls: check output string is usable of ff_make_absolute_url
...
fix ticket: 8688
should goto failed workflow if cannot get usable string by ff_make_absolute_url
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2020-06-10 09:22:29 +08:00
Steven Liu
029ff31af6
avformat/url: check return value of strchr
...
fix ticket: 8687
workflow should return if there have no value of strchr
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2020-06-10 09:22:21 +08:00
Brad Hards
fb819697f6
avformat/mpegts: add constants for MPEG-TS transport stream identifiers
...
Signed-off-by: Brad Hards <bradh@frogmouth.net >
Signed-off-by: Marton Balint <cus@passwd.hu >
2020-06-09 01:01:28 +02:00
Marton Balint
81975cd24b
avformat/fifo: add timeshift option to delay output
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2020-06-09 00:57:30 +02:00
Michael Niedermayer
c5079bf3bc
Bump minor versions after branching 4.3
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-08 22:49:04 +02:00
Michael Niedermayer
0a8a96c251
Bump minor versions to separate 4.3 from master
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-08 22:49:04 +02:00
Michael Niedermayer
49e766aa4c
Revert "lavf/mp3dec: don't adjust start time; packets are not adjusted."
...
This causes regressions in end to end timestamps with mp3s and ffmpeg.
The revert is to avoid this regression in the 4.3 release
See: [FFmpeg-devel] [PATCH] Don't adjust start time for MP3 files; packets are not adjusted.
This reverts commit 460132c998 .
2020-06-08 22:08:37 +02:00
Michael Niedermayer
a5313ce654
avformat/4xm: Cleanup on GET_LIST_HEADER() failure
...
Fixes: memleak
Fixes: 23142/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5932860820422656
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-08 12:27:18 +02:00
Michael Niedermayer
5bd5c31087
avformat/mlvdec: fail reading a packet with 0 streams
...
Fixes: NULL pointer dereference
Fixes: 22604/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5667739074297856.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-07 22:01:12 +02:00
Michael Niedermayer
1ba8484559
avformat/thp: Check compcount
...
Fixes: out of array access
Fixes: 22520/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5100297658826752
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-07 22:01:12 +02:00
Michael Niedermayer
8edfd0598d
avformat/oggdec: Do not hardcode arbitrary and sometimes unavailable size
...
Fixes: regression since e983197cbc
Fixes: out of array read
Fixes: 22185/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5662069073641472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Lynne <dev@lynne.ee >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-07 01:21:55 +02:00
Michael Niedermayer
108ee4b4a5
avformat/oggdec: Initialize return value from ogg_read_page() and check it everywhere
...
Fixes regression since 9ad47762c1
Fixes: out of array access
Fixes: 22172/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5658535590625280
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Lynne <dev@lynne.ee >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-07 01:21:55 +02:00
Dale Curtis
63ce7c71bc
avformat: Fix overflow in compute_pkt_fields().
...
Signed-off-by: Dale Curtis <dalecurtis@chromium.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-06 00:25:00 +02:00
Michael Niedermayer
71a822fa35
avformat/rawdec: fix identifier names
...
Fixes: out of array access
Fixes: 22686/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5121369624018944
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-06 00:25:00 +02:00
Samuel Foss
5bbd93c3ee
avformat/utils: Find a fallback probe decoder that will also match a forced decoder's codec.
...
Prevent codecpar->codec_id from getting out of sync with the codec instantiated for probing.
Signed-off-by: Samuel Foss <sfoss@google.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-06-04 19:22:29 +02:00
Nicolas George
a45be55d5b
lavf/tee: pass options to protocol.
...
Fix trac ticket #8705 .
2020-06-04 10:52:42 +02:00
Limin Wang
cca8f53a8e
avformat/prompeg: av_dict_set() -> av_dict_set_int()
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com >
2020-06-02 22:25:11 +08:00
Limin Wang
6e911898fc
avformat/rtpproto: av_dict_set() -> av_dict_set_int()
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com >
2020-06-02 22:25:11 +08:00
Limin Wang
cb14c6ff8f
avformat/rtspdec: av_dict_set() -> av_dict_set_int()
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com >
2020-06-02 22:25:11 +08:00
Przemysław Sobala
2a9ffd89fc
avformat/dashenc: use AVStream timebase when computing missing bitrate
2020-06-01 18:58:04 +05:30
Brad Hards
b8d6d9376c
avformat/mpegtsenc: set stream_id correctly based on KLV profile selected
...
Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains
the default value.
Signed-off-by: Marton Balint <cus@passwd.hu >
2020-05-31 18:43:02 +02:00
Zane van Iperen
4aa07d1a74
avformat: add kvag muxer
...
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-05-31 00:55:12 +02:00
Dale Curtis
57564a2cfc
avformat/oggparsetheora: Don't update start time when lastpts is AV_NOPTS_VALUE.
...
Signed-off-by: Dale Curtis <dalecurtis@chromium.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-05-31 00:52:08 +02:00
Paul B Mahol
d49db99ce2
avcodec: add PFM image decoder
2020-05-30 18:02:55 +02:00
Jun Zhao
4391289609
lavf/utils: fix start_time/duration dump if it is AV_NOPTS_VALUE
...
e,g: the command:
ffprobe -show_format -i fate-suite/aac/foo.aac -loglevel 99 will
dump the trace message as follow when start_time is AV_NOPTS_VALUE
[aac @ 0x55bf8e1f3dc0] stream 0: start_time: -326791809695.818 duration: 2.174
[aac @ 0x55bf8e1f3dc0] format: start_time: -9223372036854.775 duration: 2.174 bitrate=120 kb/s
after this fix, will dump the start_time with "NOPTS".
Signed-off-by: Jun Zhao <barryjzhao@tencent.com >
2020-05-30 19:07:06 +08:00
Dale Curtis
f3068be15b
avformat/utils: Use av_sat_add64() when updating start_time by skip_samples.
...
Avoids overflow from fuzzed skip_samples values.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-05-29 19:40:36 +02:00
Dale Curtis
fc54db3265
Use av_sat_sub64() when updating pts by duration.
...
Signed-off-by: Dale Curtis <dalecurtis@chromium.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-05-29 19:40:36 +02:00
Andreas Rheinhardt
c0f01eaf12
avformat/oggdec: Avoid duplicating buffer when adding side-data
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-05-28 12:04:26 +02:00
Andreas Rheinhardt
9fee37c56e
avformat/img2dec: Avoid duplicating buffer when adding side-data
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-05-28 12:03:28 +02:00
Andreas Rheinhardt
be22f97332
avformat/concatdec: Avoid duplicating buffer when adding side-data
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-05-28 12:01:22 +02:00
Andreas Rheinhardt
ed9bbcff6f
avformat/flvdec: Avoid duplicating extradata when adding side-data
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2020-05-28 11:59:56 +02:00