From 246f21ac2fc8c2c1ec00b378f5af7b1eb3666e1c Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Fri, 26 May 2017 17:52:19 +0200 Subject: [PATCH] v4l2videoenc: Don't leak VideoCodecState CID #1409852 --- sys/v4l2/gstv4l2videoenc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/v4l2/gstv4l2videoenc.c b/sys/v4l2/gstv4l2videoenc.c index 4123e3b673..e0e8e0030a 100644 --- a/sys/v4l2/gstv4l2videoenc.c +++ b/sys/v4l2/gstv4l2videoenc.c @@ -305,6 +305,7 @@ gst_v4l2_video_enc_set_format (GstVideoEncoder * encoder, GstV4l2VideoEnc *self = GST_V4L2_VIDEO_ENC (encoder); GstV4l2Error error = GST_V4L2_ERROR_INIT; GstCaps *outcaps; + GstVideoCodecState *output; GST_DEBUG_OBJECT (self, "Setting format: %" GST_PTR_FORMAT, state->caps); @@ -323,7 +324,8 @@ gst_v4l2_video_enc_set_format (GstVideoEncoder * encoder, outcaps = gst_pad_get_pad_template_caps (encoder->srcpad); outcaps = gst_caps_make_writable (outcaps); - gst_video_encoder_set_output_state (encoder, outcaps, state); + output = gst_video_encoder_set_output_state (encoder, outcaps, state); + gst_video_codec_state_unref (output); if (!gst_video_encoder_negotiate (encoder)) return FALSE;