From 9dd82724315d651891f2a1ed733c4de06e9cb07a Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Sun, 9 Sep 2012 16:00:06 +0200 Subject: [PATCH] lavc: set AVSubtitle.pts if possible. If the packet has a PTS and the corresponding time base is known, set the pts field of the decoded subtitle structure before the call to the decoder. The decoder is still allowed to change the PTS if necessary. --- libavcodec/utils.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 99e012ab2f..30b0d21a5b 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1701,6 +1701,9 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, avctx->pkt = avpkt; *got_sub_ptr = 0; avcodec_get_subtitle_defaults(sub); + if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE) + sub->pts = av_rescale_q(avpkt->pts, + avctx->pkt_timebase, AV_TIME_BASE_Q); ret = avctx->codec->decode(avctx, sub, got_sub_ptr, avpkt); if (*got_sub_ptr) avctx->frame_number++;