Commit Graph

14413 Commits

Author SHA1 Message Date
openvela-robot 4cc6af2a0e random_seed: Rewrite the generic clock() based seed code
The new code is faster and reuses the previous state in case of
multiple calls.

The previous code could easily end up in near-infinite loops,
if the difference between two clock() calls never was larger than
1.

This makes fate-parseutils finish in finite time when run in wine,
if CryptGenRandom isn't available (which e.g. isn't available if
targeting Windows RT/metro).

Patch originally by Michael Niedermayer but with some modifications
by Martin Storsjö.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 15:13:56 +08:00
openvela-robot 071064ee67 Merge commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd'
* commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd':
  segafilm: fix leaks if reading the header fails

Conflicts:
	libavformat/segafilm.c

See: ca5456db7f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:52 +08:00
openvela-robot d4187b569a Merge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'
* commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f':
  lavf: remove a pointless check

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:44 +08:00
openvela-robot eb74e96835 Merge commit '75647dea6f7db79b409bad66a119f5c73da730f3'
* commit '75647dea6f7db79b409bad66a119f5c73da730f3':
  oggparseogm: check timing variables

See: 9ed388f598
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:43 +08:00
openvela-robot 1937b4b65b Merge commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5'
* commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5':
  hevc: add new conformance streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:21 +08:00
Anton Khirnov 4529d9e41e segafilm: fix leaks if reading the header fails
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 7921e02fd1 lavf: remove a pointless check
AVStream.codec is always non-NULL
2026-04-20 15:13:18 +08:00
Anton Khirnov 09c4da8346 oggparseogm: check timing variables
Fixes a potential divide by zero.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:18 +08:00
openvela-robot afd74f16ef 4xm: return a proper error code. 2026-04-20 15:13:17 +08:00
openvela-robot c419eae610 vp9_parse: don't use AVCodecParserContext as av_log context.
Fixes trac ticket 3273.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:05 +08:00
openvela-robot 294f4ac836 cmdutils: update copyright year to 2014.
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 15:13:03 +08:00
openvela-robot 90e7d604c2 avformat/nutdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:00 +08:00
openvela-robot 76a607033b lavu: Add values for various Dolby flags to the AVMatrixEncoding enum. 2026-04-20 15:12:57 +08:00
Peter Ross 7000c44136 avformat/matroskaenc: warn when muxing video codec not supported by format
This occurs for video codecs that have codec_tag set, but are are not listed
in ff_codec_bmp_tags (e.g. AV_CODEC_ID_BINKAUDIO, AV_CODEC_ID_IFF_ILBM).

Fixes ticket #3269.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:54 +08:00
openvela-robot d42e7d3723 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sdp: Check that fmt->oformat is non-null before accessing it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:54 +08:00
openvela-robot 5a746158e5 Merge commit 'e2096e2eaa9e75663d6bf0c37d342752aa5a146d'
* commit 'e2096e2eaa9e75663d6bf0c37d342752aa5a146d':
  fate: Add a downsampled SBR testvector

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:49 +08:00
Michael Niedermayer 56068c7819 avformat/mp3dec: fix start time in light of initial skip samples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:48 +08:00
Stefano Sabatini b0a9883da9 lavf/file: fix help message first character casing for trunc option 2026-04-20 15:12:48 +08:00
Martin Storsjö 85eff1ec00 sdp: Check that fmt->oformat is non-null before accessing it
This avoids crashes when avserver tries to create an SDP, since
d77f4af.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 15:12:48 +08:00
Alexander Strasser 86425ce8b2 lavf/file: file_check: Handle file URLs that start with "file:"
Handle the URL analog to file_open, it may contain a "file:"
prefix. Skip it. Make access checks to file URLs starting
with "file:" work.

Fix part of ticket #3249.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2026-04-20 15:12:47 +08:00
Mark Harris 844a056621 avformat/oggparseopus: fix segmented timestamps
Fix timestamp calculation for code 3 Ogg Opus packets with less than
2 bytes in the last segment (e.g. packet length 255 or 256).
A sample that would seek incorrectly in ffplay can be created with:
  ffmpeg -i in.wav -b:a 34k -vbr off -frame_duration 60 out.opus
and libopus 1.1

Also do not read past the end of the buffer when a packet has length 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:47 +08:00
Michael Niedermayer 0fa7a52423 avformat/oggdec: dont read timestamps from EOS pages of ogm videos
Some muxers store invalid timestamps there, which breaks seeking
Fixes Ticket2739

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:47 +08:00
Michael Niedermayer 6104d86cd0 avformat/utils: fix rounding error accumulation for generated dts in compute_pkt_fields()
This only updates the case where there is no B frame reordering delay.

Tested-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:47 +08:00
Michael Niedermayer 9398832721 avformat/nut: add support for per frame side & meta data with version 4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:47 +08:00
openvela-robot d275e21ffc Merge commit '1b5d065ca722eb8028c7a08e054b6da3419faf5d'
* commit '1b5d065ca722eb8028c7a08e054b6da3419faf5d':
  pmpdec: check that there is at least one audio packet.

Conflicts:
	libavformat/pmpdec.c

See: 8b1cd25ca7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:23 +08:00
Michael Niedermayer 2e45f07674 avformat/utils: fix order of buffers in timestamp update code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:16 +08:00
openvela-robot 051e88c899 doc/ffserver: mention how to access streams through RTSP 2026-04-20 15:12:15 +08:00
Anton Khirnov 8baf504fd5 pmpdec: check that there is at least one audio packet.
The code cannot handle there being none, but that should not happen for
valid files.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:12:12 +08:00
openvela-robot e5256b6985 mpegvideo: set reference/pict_type on generated reference frames
Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:12:11 +08:00
Peter Ross fbec1b5589 avformat/bink: display audio track ids
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:09 +08:00
Anssi Hannula 146184f3b1 avformat/hls: decouple playlists from variants
Not all "sub-playlists" are variant playlists (containing the same
content with a different bitrate, etc) in the current version of the HLS
specification. They can now also be alternative renditions, containing
e.g. alternative audio tracks etc.

Decouple playlists from variants to prepare for handling the new
features.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:09 +08:00
Anssi Hannula 58ace74065 avformat/http: always allow no-op seek
This also allows checking stream position as per ffurl_seek() doxy.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:09 +08:00
Peter Ross 4e10d23faa avformat/bink: seek to first frame
Some rare bink files include unused bytes between the frame table index
and first frame data.

Fixes ticket #3266.

This patch has also been tested with non-seekable protocols.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:09 +08:00
James Almer 6320c6c785 matroskadec: Export the MuxingApp element value as metadata
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:09 +08:00
Peter Ross 56d08bff0c avformat/bink: recognize bink2 files
Support demuxing of audio streams in bink2 files.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:08 +08:00
Michael Niedermayer 698fb08330 avformat/mux: fix "no tag found" check in validate_codec_tag()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:07 +08:00
Michael Niedermayer f536d8b218 avformat/vqf: check avio_read()s return value more completely
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f180a523a71_5052_esvorbei_extd.vqf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:07 +08:00
Stefano Sabatini 7e897c290e doc/protocols/rtsp, lavf/rtsp: fix/extend options documentation 2026-04-20 15:12:06 +08:00
Michael Niedermayer da3e30cca6 avformat/version: bump micro for addition of internal field to AVStream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:06 +08:00
Michael Niedermayer 3118ee7d94 avformat: dont run update_initial_duration() twice
This should avoid floods of first_dts not matching debug messages

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:05 +08:00
Anssi Hannula 1e1feb46c9 avformat/id3v2: allow ID3 parsing without AVFormatContext
Add ff_id3v2_read_dict() for parsing without AVFormatContext, but
instead with AVIOContext and AVDictionary.

AVFormatContext is still used for logging, if available.

Chapter parsing is the only non-logging functionality that actually
needs AVFormatContext, and AFAICS it should be modified to write the
data to ID3v2ExtraMeta first, from where it can be implanted to
AVFormatContext by a separate function (like it is done with
read_apic() and ff_id3v2_parse_apic()). That is outside the scope of
this patch, though.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:05 +08:00
Anssi Hannula 1b2f6df63a avformat/http: allow the caller to select a request range
Add AVOptions for setting the initial offset and the ending offset, so
they can be used for setting an appropriate Range header.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:05 +08:00
Anssi Hannula b34d7191f6 avformat/id3v2: parse ID3 Private frames as extra metadata
They are used in HLS.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:05 +08:00
Anssi Hannula f52152e2ad avformat/mpegts: demux timed ID3 metadata
Used in some HLS streams ("Timed Metadata for HTTP Live Streaming").

This is just ID3 tags at arbitrary stream positions, but I still added
"timed" to the codec name to avoid confusion with regular non-stream ID3
tags.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2026-04-20 15:12:05 +08:00
James Almer 7104cc803e oggdec: add support for VP8 demuxing
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:12:02 +08:00
openvela-robot 2a93a7c79d Allow hiding the banner.
Fixes ticket #3246.
2026-04-20 15:11:59 +08:00
openvela-robot f0b6473e9a lavu: Move preprocessor macros in a separate file
And remove all the circular inclusions of avutil.h while at it.
2026-04-20 15:11:57 +08:00
openvela-robot 0b5fda4775 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavf/libssh: improve authentication
  lavf/libssh: fix file mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:11:54 +08:00
openvela-robot ac9ba10f5a Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: do not wait for the picture allocation to finish on exit
  ffplay: remove two unneeded av_free_packet calls
  ffplay: remove some unneded av_frame_unref calls
  ffplay: remove unneeded avcodec_get_frame_defaults
  ffplay: use precalculated frame size and bytes per sec values
  ffplay: precalculate audio output frame size and byte per sec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:11:53 +08:00
Lukasz Marek 5959ce26b3 lavf/libssh: improve authentication
- Add authentication using keys
- Provide better message on fail

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2026-04-20 15:11:52 +08:00