diff mbox series

[FFmpeg-devel,19/25] fftools/ffmpeg_mux: use output stream parameters in of_streamcopy()

Message ID 20230413141223.17245-19-anton@khirnov.net
State Accepted
Commit 150c992490d723124f05c77425aa8689dbcbbebc
Headers show
Series [FFmpeg-devel,01/25] fftools/ffmpeg_mux_init: move new_output_stream() lower in the file | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov April 13, 2023, 2:12 p.m. UTC
They should always be the same as the input stream parameters, but this
reduces the need to access InputStream in muxing code.
---
 fftools/ffmpeg_mux.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c
index 96ed50f73c..db6ad9d589 100644
--- a/fftools/ffmpeg_mux.c
+++ b/fftools/ffmpeg_mux.c
@@ -425,11 +425,11 @@  void of_streamcopy(InputStream *ist, OutputStream *ost,
     if (pkt->dts == AV_NOPTS_VALUE) {
         opkt->dts = av_rescale_q(dts, AV_TIME_BASE_Q, opkt->time_base);
     } else if (ost->st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
-        int duration = av_get_audio_frame_duration2(ist->par, pkt->size);
+        int duration = av_get_audio_frame_duration2(ost->par_in, pkt->size);
         if(!duration)
-            duration = ist->par->frame_size;
+            duration = ost->par_in->frame_size;
         opkt->dts = av_rescale_delta(pkt->time_base, pkt->dts,
-                                    (AVRational){1, ist->par->sample_rate}, duration,
+                                    (AVRational){1, ost->par_in->sample_rate}, duration,
                                     &ist->filter_in_rescale_delta_last, opkt->time_base);
         /* dts will be set immediately afterwards to what pts is now */
         opkt->pts = opkt->dts - ost_tb_start_time;