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;