Browse Source

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ö <martin@martin.st>
tags/n2.1
Michael Niedermayer Martin Storsjö 12 years ago
parent
commit
c5b46a064d
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      libavformat/utils.c

+ 3
- 2
libavformat/utils.c View File

@@ -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;
}



Loading…
Cancel
Save