diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-02-08 23:14:28 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-02-08 23:50:37 +0100 |
commit | d8710228eaafbcf60aa72861de81fc849759ea0b (patch) | |
tree | 08c025ec76fb1a149f348304cf3d4d9bea45c593 | |
parent | c84acc31b2d54b6a214c234f7e02d9737fe156ee (diff) | |
download | ffmpeg-d8710228eaafbcf60aa72861de81fc849759ea0b.tar.gz |
ffmpeg: change sync_opts code to be more similar to qatar.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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); |