]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/qsvdec_h2645.c
avcodec/clearvideo: display warning if decoder overreads input
[ffmpeg] / libavcodec / qsvdec_h2645.c
index 5e0067335e882926aa16df2780585c20cb2076ea..831252f2d785d4cbdfb124ef9a642ca34833a459 100644 (file)
@@ -153,8 +153,12 @@ static int qsv_decode_frame(AVCodecContext *avctx, void *data,
         }
 
         ret = ff_qsv_process_data(avctx, &s->qsv, frame, got_frame, &s->buffer_pkt);
-        if (ret < 0)
+        if (ret < 0){
+            /* Drop buffer_pkt when failed to decode the packet. Otherwise,
+               the decoder will keep decoding the failure packet. */
+            av_packet_unref(&s->buffer_pkt);
             return ret;
+        }
 
         s->buffer_pkt.size -= ret;
         s->buffer_pkt.data += ret;