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>
This commit is contained in:
parent
2219e27b5b
commit
c5b46a064d
@ -727,8 +727,9 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||||||
pc && pc->pict_type != AV_PICTURE_TYPE_B)
|
pc && pc->pict_type != AV_PICTURE_TYPE_B)
|
||||||
presentation_delayed = 1;
|
presentation_delayed = 1;
|
||||||
|
|
||||||
if(pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && pkt->dts > pkt->pts && st->pts_wrap_bits<63
|
if (pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE &&
|
||||||
/*&& pkt->dts-(1LL<<st->pts_wrap_bits) < pkt->pts*/){
|
st->pts_wrap_bits < 63 &&
|
||||||
|
pkt->dts - (1LL << (st->pts_wrap_bits - 1)) > pkt->pts) {
|
||||||
pkt->dts -= 1LL<<st->pts_wrap_bits;
|
pkt->dts -= 1LL<<st->pts_wrap_bits;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user