# HG changeset patch # User bcoudurier # Date 1218561996 0 # Node ID 48a262da0100e1a4faadeabed03151be6abdf39a # Parent 1c2e46d1f5c36dfead7c4a9f4f1ea292847904e6 Prevent dts generation code to be executed when delay is > MAX_REORDER_DELAY, this fixes overflow in AVStream->pts_buffer. diff -r 1c2e46d1f5c3 -r 48a262da0100 utils.c --- a/utils.c Tue Aug 12 12:36:00 2008 +0000 +++ b/utils.c Tue Aug 12 17:26:36 2008 +0000 @@ -895,7 +895,7 @@ } } - if(pkt->pts != AV_NOPTS_VALUE){ + if(pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY){ st->pts_buffer[0]= pkt->pts; for(i=1; ipts_buffer[i] == AV_NOPTS_VALUE; i++) st->pts_buffer[i]= (i-delay-1) * pkt->duration; @@ -2524,7 +2524,7 @@ } //calculate dts from pts - if(pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE){ + if(pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY){ st->pts_buffer[0]= pkt->pts; for(i=1; ipts_buffer[i] == AV_NOPTS_VALUE; i++) st->pts_buffer[i]= (i-delay-1) * pkt->duration;