index 417cc2161977a3d0db240b4b79eeec704767e730..c4370a3ae9101431fef23f7d471b338842d83079 100644 (file)
*/
GstPad *
gst_check_setup_src_pad (GstElement * element,
- GstStaticPadTemplate * template, GstCaps * caps)
+ GstStaticPadTemplate * tmpl, GstCaps * caps)
{
GstPad *srcpad;
- srcpad = gst_check_setup_src_pad_by_name (element, template, "sink");
+ srcpad = gst_check_setup_src_pad_by_name (element, tmpl, "sink");
if (caps)
fail_unless (gst_pad_set_caps (srcpad, caps), "could not set caps on pad");
return srcpad;
GstPad *
gst_check_setup_src_pad_by_name (GstElement * element,
- GstStaticPadTemplate * template, const gchar * name)
+ GstStaticPadTemplate * tmpl, const gchar * name)
{
GstPad *srcpad, *sinkpad;
/* sending pad */
- srcpad = gst_pad_new_from_static_template (template, "src");
+ srcpad = gst_pad_new_from_static_template (tmpl, "src");
GST_DEBUG_OBJECT (element, "setting up sending pad %p", srcpad);
fail_if (srcpad == NULL, "Could not create a srcpad");
ASSERT_OBJECT_REFCOUNT (srcpad, "srcpad", 1);
/* clean up floating src pad */
pad_element = gst_element_get_static_pad (element, name);
- ASSERT_OBJECT_REFCOUNT (pad_element, "pad", 2);
+ /* We don't check the refcount here since there *might* be
+ * a pad cache holding an extra reference on pad_element.
+ * To get to a state where no pad cache will exist,
+ * we first unlink that pad. */
pad_peer = gst_pad_get_peer (pad_element);
if (pad_peer) {
/* FIXME: set_caps isn't that useful; might want to check if fixed,
* then use set_use_fixed or somesuch */
GstPad *
-gst_check_setup_sink_pad (GstElement * element, GstStaticPadTemplate * template,
+gst_check_setup_sink_pad (GstElement * element, GstStaticPadTemplate * tmpl,
GstCaps * caps)
{
GstPad *sinkpad;
- sinkpad = gst_check_setup_sink_pad_by_name (element, template, "src");
+ sinkpad = gst_check_setup_sink_pad_by_name (element, tmpl, "src");
if (caps)
fail_unless (gst_pad_set_caps (sinkpad, caps), "Could not set pad caps");
return sinkpad;
@@ -292,12 +295,12 @@ gst_check_setup_sink_pad (GstElement * element, GstStaticPadTemplate * template,
GstPad *
gst_check_setup_sink_pad_by_name (GstElement * element,
- GstStaticPadTemplate * template, const gchar * name)
+ GstStaticPadTemplate * tmpl, const gchar * name)
{
GstPad *srcpad, *sinkpad;
/* receiving pad */
- sinkpad = gst_pad_new_from_static_template (template, "sink");
+ sinkpad = gst_pad_new_from_static_template (tmpl, "sink");
GST_DEBUG_OBJECT (element, "setting up receiving pad %p", sinkpad);
fail_if (sinkpad == NULL, "Could not create a sinkpad");
gint
gst_check_run_suite (Suite * suite, const gchar * name, const gchar * fname)
{
+ SRunner *sr;
+ gchar *xmlfilename = NULL;
gint nf;
- SRunner *sr = srunner_create (suite);
+ sr = srunner_create (suite);
if (g_getenv ("GST_CHECK_XML")) {
/* how lucky we are to have __FILE__ end in .c */
- gchar *xmlfilename = g_strdup_printf ("%sheck.xml", fname);
+ xmlfilename = g_strdup_printf ("%sheck.xml", fname);
srunner_set_xml (sr, xmlfilename);
}
srunner_run_all (sr, CK_NORMAL);
nf = srunner_ntests_failed (sr);
+ g_free (xmlfilename);
srunner_free (sr);
return nf;
}