mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
ffdeinterlace: Set "interlaced=false" in the source pad's caps
https://bugzilla.gnome.org/show_bug.cgi?id=622736
This commit is contained in:
parent
9b3c3305f3
commit
7f12d83a39
1 changed files with 12 additions and 1 deletions
|
@ -112,6 +112,9 @@ gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstCaps * caps)
|
||||||
GST_FFMPEGDEINTERLACE (gst_pad_get_parent (pad));
|
GST_FFMPEGDEINTERLACE (gst_pad_get_parent (pad));
|
||||||
GstStructure *structure = gst_caps_get_structure (caps, 0);
|
GstStructure *structure = gst_caps_get_structure (caps, 0);
|
||||||
AVCodecContext *ctx;
|
AVCodecContext *ctx;
|
||||||
|
GValue interlaced = { 0 };
|
||||||
|
GstCaps *srcCaps;
|
||||||
|
GstFlowReturn ret;
|
||||||
|
|
||||||
if (!gst_structure_get_int (structure, "width", &deinterlace->width))
|
if (!gst_structure_get_int (structure, "width", &deinterlace->width))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -136,7 +139,15 @@ gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstCaps * caps)
|
||||||
avpicture_get_size (deinterlace->pixfmt, deinterlace->width,
|
avpicture_get_size (deinterlace->pixfmt, deinterlace->width,
|
||||||
deinterlace->height);
|
deinterlace->height);
|
||||||
|
|
||||||
return gst_pad_set_caps (deinterlace->srcpad, caps);
|
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);
|
||||||
|
|
||||||
|
ret = gst_pad_set_caps (deinterlace->srcpad, srcCaps);
|
||||||
|
gst_caps_unref (srcCaps);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue