fftools/ffmpeg_mux: use output stream parameters in of_streamcopy()

They should always be the same as the input stream parameters, but this
reduces the need to access InputStream in muxing code.
pull/389/head
Anton Khirnov 2 years ago
parent 2178ff2162
commit 150c992490
  1. 6
      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;

Loading…
Cancel
Save