[FFmpeg-devel] [PATCH] avformat/mov: set primary extradata based on the first Sample only if it's not already in place (PR #20098)
James Almer
code at ffmpeg.org
Sun Aug 3 19:54:00 EEST 2025
PR #20098 opened by James Almer (jamrial)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20098
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20098.patch
If the first Sample references the first stsd entry, then setting it here is redundant.
>From 925d0d2c21c97f9cae7b69409964adb6ed6af255 Mon Sep 17 00:00:00 2001
From: James Almer <jamrial at gmail.com>
Date: Sun, 3 Aug 2025 13:30:42 -0300
Subject: [PATCH] avformat/mov: set primary extradata based on the first Sample
only if it's not already in place
If the first Sample references the first stsd entry, then setting it here is
redundant.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavformat/mov.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 40105a408d..eb96136550 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -10685,9 +10685,9 @@ static int mov_read_header(AVFormatContext *s)
uint32_t dvdsub_clut[FF_DVDCLUT_CLUT_LEN] = {0};
fix_timescale(mov, sc);
- /* Set the primary extradata based on the first Sample. */
+ /* Set the primary extradata based on the first Sample if it doesn't reference the first stsd entry. */
if (sc->stsc_count && sc->extradata_size && !sc->iamf &&
- sc->stsc_data[0].id > 0 && sc->stsc_data[0].id <= sc->stsd_count) {
+ sc->stsc_data[0].id > 1 && sc->stsc_data[0].id <= sc->stsd_count) {
sc->last_stsd_index = sc->stsc_data[0].id - 1;
av_freep(&st->codecpar->extradata);
st->codecpar->extradata_size = sc->extradata_size[sc->last_stsd_index];
--
2.49.1
More information about the ffmpeg-devel
mailing list