diff --git a/libavformat/utils.c b/libavformat/utils.c
index e8fefe651441f4ab03db25cc04e6558bb0cf978d..2eba3bafc1b1a3525cbd71be8724322e7695c3e2 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2273,6 +2273,8 @@ static int try_decode_frame(AVStream *st, AVPacket *avpkt, AVDictionary **option
             pkt.size -= ret;
         }
     }
+    if(!pkt.data && !got_picture)
+        return -1;
     return ret;
 }