diff --git a/ffplay.c b/ffplay.c
index 6bf76a7c6f794224ccfa7487975e07e56091e650..ea60d5dd3743569211d92cff36a5be4d49a096a7 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1375,6 +1375,7 @@ static int video_thread(void *arg)
                                     frame, &got_picture,
                                     pkt);
 
+        if (got_picture) {
         if(pkt->dts != AV_NOPTS_VALUE){
             is->faulty_dts += pkt->dts <= is->last_dts_for_fault_detection;
             is->last_dts_for_fault_detection= pkt->dts;
@@ -1383,6 +1384,7 @@ static int video_thread(void *arg)
             is->faulty_pts += frame->reordered_opaque <= is->last_pts_for_fault_detection;
             is->last_pts_for_fault_detection= frame->reordered_opaque;
         }
+        }
 
         if(   (   decoder_reorder_pts==1
                || decoder_reorder_pts && is->faulty_pts<is->faulty_dts