diff options
-rw-r--r-- | ChangeLog | 7 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/y4m/gsty4mencode.c | 21 | ||||
-rw-r--r-- | tests/check/elements/y4menc.c | 2 |
4 files changed, 19 insertions, 11 deletions
@@ -1,3 +1,10 @@ +2007-04-24 Tim-Philipp Müller <tim at centricular dot net> + + * 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. + 2007-04-21 Tim-Philipp Müller <tim at centricular dot net> * gst/Makefile.am: diff --git a/common b/common -Subproject 765d03a88492fb4ac81d70457f671f3a109e93d +Subproject a19d235c89d99ca7849078d501129f521e30d98 diff --git a/gst/y4m/gsty4mencode.c b/gst/y4m/gsty4mencode.c index 56ba5648..dc432f8d 100644 --- a/gst/y4m/gsty4mencode.c +++ b/gst/y4m/gsty4mencode.c @@ -109,8 +109,7 @@ static void gst_y4m_encode_init (GstY4mEncode * filter, GstY4mEncodeClass * klass) { filter->sinkpad = - gst_pad_new_from_template (gst_static_pad_template_get - (&y4mencode_sink_factory), "sink"); + gst_pad_new_from_static_template (&y4mencode_sink_factory, "sink"); gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); gst_pad_set_chain_function (filter->sinkpad, 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)); filter->srcpad = - gst_pad_new_from_template (gst_static_pad_template_get - (&y4mencode_src_factory), "src"); + gst_pad_new_from_static_template (&y4mencode_src_factory, "src"); gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); gst_pad_use_fixed_caps (filter->srcpad); @@ -140,6 +138,7 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps) { GstY4mEncode *filter; GstStructure *structure; + gboolean res; gint w, h; const GValue *fps, *par; @@ -147,11 +146,13 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps) structure = gst_caps_get_structure (vscaps, 0); - g_return_val_if_fail (gst_structure_get_int (structure, "width", &w), FALSE); - g_return_val_if_fail (gst_structure_get_int (structure, "height", &h), FALSE); - fps = gst_structure_get_value (structure, "framerate"); - g_return_val_if_fail (w > 0 && h > 0 - && fps != NULL && GST_VALUE_HOLDS_FRACTION (fps), FALSE); + res = gst_structure_get_int (structure, "width", &w); + res &= gst_structure_get_int (structure, "height", &h); + res &= ((fps = gst_structure_get_value (structure, "framerate")) != NULL); + + if (!res || w <= 0 || h <= 0 || !GST_VALUE_HOLDS_FRACTION (fps)) + return FALSE; + /* optional par info */ 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 */ 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 * diff --git a/tests/check/elements/y4menc.c b/tests/check/elements/y4menc.c index 56088891..b5c5fcc4 100644 --- a/tests/check/elements/y4menc.c +++ b/tests/check/elements/y4menc.c @@ -115,7 +115,7 @@ GST_START_TEST (test_y4m) case 0: fail_unless (strlen (data0) == 40); fail_unless (GST_BUFFER_SIZE (outbuffer) == size + 40); - fail_unless (strncmp (data0, GST_BUFFER_DATA (outbuffer), + fail_unless (memcmp (data0, GST_BUFFER_DATA (outbuffer), strlen (data0)) == 0); break; default: |