Mercurial > libavformat.hg
comparison utils.c @ 1936:7222bddac3e2 libavformat
revert r8428, the check was not that useless
should fix constant pts=0 with broken demuxers
| author | michael |
|---|---|
| date | Tue, 20 Mar 2007 13:59:59 +0000 |
| parents | d86a3bda9418 |
| children | c2d0bdc9e6f1 |
comparison
equal
deleted
inserted
replaced
| 1935:d86a3bda9418 | 1936:7222bddac3e2 |
|---|---|
| 631 st->cur_dts = pkt->dts + st->last_IP_duration; | 631 st->cur_dts = pkt->dts + st->last_IP_duration; |
| 632 st->last_IP_duration = pkt->duration; | 632 st->last_IP_duration = pkt->duration; |
| 633 st->last_IP_pts= pkt->pts; | 633 st->last_IP_pts= pkt->pts; |
| 634 /* cannot compute PTS if not present (we can compute it only | 634 /* cannot compute PTS if not present (we can compute it only |
| 635 by knowing the futur */ | 635 by knowing the futur */ |
| 636 } else { | 636 } else if(pkt->pts != AV_NOPTS_VALUE || pkt->dts != AV_NOPTS_VALUE || pkt->duration){ |
| 637 if(pkt->pts != AV_NOPTS_VALUE && pkt->duration){ | 637 if(pkt->pts != AV_NOPTS_VALUE && pkt->duration){ |
| 638 int64_t old_diff= FFABS(st->cur_dts - pkt->duration - pkt->pts); | 638 int64_t old_diff= FFABS(st->cur_dts - pkt->duration - pkt->pts); |
| 639 int64_t new_diff= FFABS(st->cur_dts - pkt->pts); | 639 int64_t new_diff= FFABS(st->cur_dts - pkt->pts); |
| 640 if(old_diff < new_diff && old_diff < (pkt->duration>>3)){ | 640 if(old_diff < new_diff && old_diff < (pkt->duration>>3)){ |
| 641 pkt->pts += pkt->duration; | 641 pkt->pts += pkt->duration; |
