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

Reply via email to