diff --git a/libavformat/utils.c b/libavformat/utils.c index eaeeb7c165..d838bc86c1 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2288,8 +2288,12 @@ static void truncate_ts(AVStream *st, AVPacket *pkt){ // if(pkt->dts < 0) // pkt->dts= 0; //this happens for low_delay=0 and b frames, FIXME, needs further invstigation about what we should do here - pkt->pts &= pts_mask; - pkt->dts &= pts_mask; + if( pkt->pts != AV_NOPTS_VALUE ) { + pkt->pts &= pts_mask; + } + if( pkt->dts != AV_NOPTS_VALUE ) { + pkt->dts &= pts_mask; + } } /**