Module: libav Branch: master Commit: c5b46a064d9991f2cd045c90179fccf35ecffc34
Author: Michael Niedermayer <[email protected]> Committer: Martin Storsjö <[email protected]> Date: Sun Jul 28 20:04:05 2013 +0300 lavf: Don't interpret just slightly broken timestamps as wraparound This avoids breaking some slightly incorrect (dts > pts) timestamps in sample HLS streams from Apple. Signed-off-by: Martin Storsjö <[email protected]> --- libavformat/utils.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 80b1ce2..3a11239 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -727,8 +727,9 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, pc && pc->pict_type != AV_PICTURE_TYPE_B) presentation_delayed = 1; - if(pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && pkt->dts > pkt->pts && st->pts_wrap_bits<63 - /*&& pkt->dts-(1LL<<st->pts_wrap_bits) < pkt->pts*/){ + if (pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && + st->pts_wrap_bits < 63 && + pkt->dts - (1LL << (st->pts_wrap_bits - 1)) > pkt->pts) { pkt->dts -= 1LL<<st->pts_wrap_bits; } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
