mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
[MOVED FROM BAD] Plug some leaks; try to make build bot happy again.
Original commit message from CVS: * gst/y4m/gsty4mencode.c: (gst_y4m_encode_init), (gst_y4m_encode_setcaps): * tests/check/elements/y4menc.c: (GST_START_TEST): Plug some leaks; try to make build bot happy again.
This commit is contained in:
parent
6104e2480d
commit
3110dafee8
1 changed files with 11 additions and 10 deletions
|
@ -109,8 +109,7 @@ static void
|
||||||
gst_y4m_encode_init (GstY4mEncode * filter, GstY4mEncodeClass * klass)
|
gst_y4m_encode_init (GstY4mEncode * filter, GstY4mEncodeClass * klass)
|
||||||
{
|
{
|
||||||
filter->sinkpad =
|
filter->sinkpad =
|
||||||
gst_pad_new_from_template (gst_static_pad_template_get
|
gst_pad_new_from_static_template (&y4mencode_sink_factory, "sink");
|
||||||
(&y4mencode_sink_factory), "sink");
|
|
||||||
gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
|
gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
|
||||||
gst_pad_set_chain_function (filter->sinkpad,
|
gst_pad_set_chain_function (filter->sinkpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_y4m_encode_chain));
|
GST_DEBUG_FUNCPTR (gst_y4m_encode_chain));
|
||||||
|
@ -118,8 +117,7 @@ gst_y4m_encode_init (GstY4mEncode * filter, GstY4mEncodeClass * klass)
|
||||||
GST_DEBUG_FUNCPTR (gst_y4m_encode_setcaps));
|
GST_DEBUG_FUNCPTR (gst_y4m_encode_setcaps));
|
||||||
|
|
||||||
filter->srcpad =
|
filter->srcpad =
|
||||||
gst_pad_new_from_template (gst_static_pad_template_get
|
gst_pad_new_from_static_template (&y4mencode_src_factory, "src");
|
||||||
(&y4mencode_src_factory), "src");
|
|
||||||
gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
|
gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
|
||||||
gst_pad_use_fixed_caps (filter->srcpad);
|
gst_pad_use_fixed_caps (filter->srcpad);
|
||||||
|
|
||||||
|
@ -140,6 +138,7 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps)
|
||||||
{
|
{
|
||||||
GstY4mEncode *filter;
|
GstY4mEncode *filter;
|
||||||
GstStructure *structure;
|
GstStructure *structure;
|
||||||
|
gboolean res;
|
||||||
gint w, h;
|
gint w, h;
|
||||||
const GValue *fps, *par;
|
const GValue *fps, *par;
|
||||||
|
|
||||||
|
@ -147,11 +146,13 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps)
|
||||||
|
|
||||||
structure = gst_caps_get_structure (vscaps, 0);
|
structure = gst_caps_get_structure (vscaps, 0);
|
||||||
|
|
||||||
g_return_val_if_fail (gst_structure_get_int (structure, "width", &w), FALSE);
|
res = gst_structure_get_int (structure, "width", &w);
|
||||||
g_return_val_if_fail (gst_structure_get_int (structure, "height", &h), FALSE);
|
res &= gst_structure_get_int (structure, "height", &h);
|
||||||
fps = gst_structure_get_value (structure, "framerate");
|
res &= ((fps = gst_structure_get_value (structure, "framerate")) != NULL);
|
||||||
g_return_val_if_fail (w > 0 && h > 0
|
|
||||||
&& fps != NULL && GST_VALUE_HOLDS_FRACTION (fps), FALSE);
|
if (!res || w <= 0 || h <= 0 || !GST_VALUE_HOLDS_FRACTION (fps))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* optional par info */
|
/* optional par info */
|
||||||
par = gst_structure_get_value (structure, "pixel-aspect-ratio");
|
par = gst_structure_get_value (structure, "pixel-aspect-ratio");
|
||||||
|
|
||||||
|
@ -169,7 +170,7 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps)
|
||||||
|
|
||||||
/* the template caps will do for the src pad, should always accept */
|
/* the template caps will do for the src pad, should always accept */
|
||||||
return gst_pad_set_caps (filter->srcpad,
|
return gst_pad_set_caps (filter->srcpad,
|
||||||
gst_caps_copy (gst_pad_get_pad_template_caps (filter->srcpad)));
|
gst_static_pad_template_get_caps (&y4mencode_src_factory));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline GstBuffer *
|
static inline GstBuffer *
|
||||||
|
|
Loading…
Reference in a new issue