diff --git a/ext/ffmpeg/gstffmpegdeinterlace.c b/ext/ffmpeg/gstffmpegdeinterlace.c index 119d2f53d5..b140ccfebd 100644 --- a/ext/ffmpeg/gstffmpegdeinterlace.c +++ b/ext/ffmpeg/gstffmpegdeinterlace.c @@ -112,9 +112,8 @@ gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstCaps * caps) GST_FFMPEGDEINTERLACE (gst_pad_get_parent (pad)); GstStructure *structure = gst_caps_get_structure (caps, 0); AVCodecContext *ctx; - GValue interlaced = { 0 }; - GstCaps *srcCaps; - GstFlowReturn ret; + GstCaps *src_caps; + gboolean ret; if (!gst_structure_get_int (structure, "width", &deinterlace->width)) return FALSE; @@ -139,14 +138,11 @@ gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstCaps * caps) avpicture_get_size (deinterlace->pixfmt, deinterlace->width, deinterlace->height); - srcCaps = gst_caps_copy (caps); - g_value_init (&interlaced, G_TYPE_BOOLEAN); - g_value_set_boolean (&interlaced, FALSE); - gst_caps_set_value (srcCaps, "interlaced", &interlaced); - g_value_unset (&interlaced); + src_caps = gst_caps_copy (caps); + gst_caps_set_simple (src_caps, "interlaced", G_TYPE_BOOLEAN, FALSE, NULL); + ret = gst_pad_set_caps (deinterlace->srcpad, src_caps); + gst_caps_unref (src_caps); - ret = gst_pad_set_caps (deinterlace->srcpad, srcCaps); - gst_caps_unref (srcCaps); return ret; }