X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fv4l2_m2m_dec.c;h=710e40efd81958b47e0c3f2a9fd589ad54bf8a5e;hb=409e684e79b6ee0c511292326f09b13fe230e58e;hp=bca45be14846141362a9e8473bab649dcd422f82;hpb=a7109b82c4ab86a7ae75ad34245af918f1a26b95;p=ffmpeg diff --git a/libavcodec/v4l2_m2m_dec.c b/libavcodec/v4l2_m2m_dec.c index bca45be1484..710e40efd81 100644 --- a/libavcodec/v4l2_m2m_dec.c +++ b/libavcodec/v4l2_m2m_dec.c @@ -149,11 +149,14 @@ static int v4l2_receive_frame(AVCodecContext *avctx, AVFrame *frame) if (avpkt.size) { ret = v4l2_try_start(avctx); - if (ret) + if (ret) { + av_packet_unref(&avpkt); return 0; + } } dequeue: + av_packet_unref(&avpkt); return ff_v4l2_context_dequeue_frame(capture, frame); } @@ -221,7 +224,8 @@ AVCodec ff_ ## NAME ## _v4l2m2m_decoder = { \ .receive_frame = v4l2_receive_frame,\ .close = ff_v4l2_m2m_codec_end,\ .bsfs = bsf_name, \ - .capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY, \ + .capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY | \ + AV_CODEC_CAP_AVOID_PROBING, \ .wrapper_name = "v4l2m2m", \ };