From d8710228eaafbcf60aa72861de81fc849759ea0b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 8 Feb 2012 23:14:28 +0100 Subject: ffmpeg: change sync_opts code to be more similar to qatar. Signed-off-by: Michael Niedermayer --- ffmpeg.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index d2cbd031bb..f34d3dc15d 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1078,6 +1078,8 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost, av_log(NULL, AV_LOG_FATAL, "Audio encoding failed\n"); exit_program(1); } + + ost->sync_opts += frame->nb_samples; } got_packet = 0; @@ -1101,9 +1103,6 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost, av_free_packet(&pkt); } - if (frame) - ost->sync_opts += frame->nb_samples; - return ret; } @@ -1356,6 +1355,8 @@ static void do_subtitle_out(AVFormatContext *s, nb = 1; for (i = 0; i < nb; i++) { + ost->sync_opts = av_rescale_q(pts, ist->st->time_base, enc->time_base); + sub->pts = av_rescale_q(pts, ist->st->time_base, AV_TIME_BASE_Q); // start_display_time is required to be 0 sub->pts += av_rescale_q(sub->start_display_time, (AVRational){ 1, 1000 }, AV_TIME_BASE_Q); -- cgit v1.2.3