ffmpeg: Set duration on encoded subtitle packets.
authorPhilip Langdale <philipl@overt.org>
Thu, 31 May 2012 04:08:01 +0000 (21:08 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 6 Jun 2012 16:49:10 +0000 (18:49 +0200)
Currently, we don't set the duration on the packet of a newly
encoded subtitle. This information may be required by the
muxer.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 3d6853f..d140eef 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1650,6 +1650,7 @@ static void do_subtitle_out(AVFormatContext *s,
         pkt.data = subtitle_out;
         pkt.size = subtitle_out_size;
         pkt.pts  = av_rescale_q(sub->pts, AV_TIME_BASE_Q, ost->st->time_base);
+        pkt.duration = av_rescale_q(sub->end_display_time, (AVRational){ 1, 1000 }, ost->st->time_base);
         if (enc->codec_id == CODEC_ID_DVB_SUBTITLE) {
             /* XXX: the pts correction is handled here. Maybe handling
                it in the codec would be better */