lavc/v4l2_m2m: don't close the file descriptor we don't own
authorPavel Koshevoy <pkoshevoy@gmail.com>
Mon, 2 Sep 2019 06:34:35 +0000 (00:34 -0600)
committerPavel Koshevoy <pkoshevoy@gmail.com>
Mon, 2 Sep 2019 17:28:43 +0000 (11:28 -0600)
ff_v4l2_m2m_create_context initialized V4L2m2mContext.fd to 0
which is a valid file descriptor value. Next ff_v4l2_m2m_codec_init
failed and v4l2_m2m_destroy_context closed file descriptor 0 even
though it didn't belong to V4L2m2mContext.

Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
libavcodec/v4l2_m2m.c

index 427e165..ac583c8 100644 (file)
@@ -401,6 +401,7 @@ int ff_v4l2_m2m_create_context(AVCodecContext *avctx, V4L2m2mContext **s)
     priv->context->capture.num_buffers = priv->num_capture_buffers;
     priv->context->output.num_buffers  = priv->num_output_buffers;
     priv->context->self_ref = priv->context_ref;
+    priv->context->fd = -1;
 
     return 0;
 }