Module: libav Branch: master Commit: 8916f1fbcba0f2a3927752ddd0b6ea6e209c6698
Author: Justin Ruggles <[email protected]> Committer: Justin Ruggles <[email protected]> Date: Thu Apr 26 11:02:02 2012 -0400 avformat: only fill-in interpolated timestamps if duration is non-zero This avoids returning duplicate timestamps for multiple packets when the demuxer does not provide all timestamps and packet duration is not known. --- libavformat/utils.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 31708cf..e867b73 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -985,6 +985,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, } } + if (pkt->pts != AV_NOPTS_VALUE || pkt->dts != AV_NOPTS_VALUE || + duration) { /* presentation is not delayed : PTS and DTS are the same */ if(pkt->pts == AV_NOPTS_VALUE) pkt->pts = pkt->dts; @@ -994,6 +996,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, pkt->dts = pkt->pts; if(pkt->pts != AV_NOPTS_VALUE) st->cur_dts = pkt->pts + duration; + } } } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
