aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Gaullier <nicolas.gaullier@cji.paris>2024-09-03 10:02:30 +0200
committerAnton Khirnov <anton@khirnov.net>2024-09-04 13:01:37 +0200
commitee9ae4e8ba167b52267aa3e35d8fc2770316769f (patch)
tree26d30a26a88861f1fdc501304775ecf37f334acb
parentc14573a4d289fa10ab5bfda6f7a75b32478cdc21 (diff)
downloadffmpeg-ee9ae4e8ba167b52267aa3e35d8fc2770316769f.tar.gz
fftools/ffmpeg: Fix honor -r output option with streamcopy
Fix "ost->st->avg_frame_rate = ost->frame_rate" in streamcopy_init() being reset to input's frame rate a few lines below. Note that in current code, there are some discrepancies amongst the muxers. For example, avienc relies on time_base, so it is not affected by this patch, whereas mxfenc and matroskaenc do use avg_frame_rate, so this patch fixes -r being honored. In the updated fate test, the input is (wrongly) probed as 50fps. With this patch, the correct value (25fps) is successfully forced with -r. Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--fftools/ffmpeg_mux_init.c1
-rw-r--r--tests/ref/fate/time_base2
2 files changed, 1 insertions, 2 deletions
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
index e84fa9719f..37d626add6 100644
--- a/fftools/ffmpeg_mux_init.c
+++ b/fftools/ffmpeg_mux_init.c
@@ -1012,7 +1012,6 @@ static int streamcopy_init(const Muxer *mux, OutputStream *ost, AVDictionary **e
else
sar = par->sample_aspect_ratio;
ost->st->sample_aspect_ratio = par->sample_aspect_ratio = sar;
- ost->st->avg_frame_rate = ist->st->avg_frame_rate;
ost->st->r_frame_rate = ist->st->r_frame_rate;
break;
}
diff --git a/tests/ref/fate/time_base b/tests/ref/fate/time_base
index 23875d1fb8..ae96232e60 100644
--- a/tests/ref/fate/time_base
+++ b/tests/ref/fate/time_base
@@ -1 +1 @@
-b28d4ca13029fdc80a114b56467be9d7
+69ffc45e19ab070bc3e964d7b718fe53