mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 08:17:01 +00:00
tests: add test to create a factory
This commit is contained in:
parent
b6e2c69134
commit
7c98ae2b98
1 changed files with 56 additions and 0 deletions
|
@ -21,6 +21,61 @@
|
||||||
|
|
||||||
#include <gst/check/gstcheck.h>
|
#include <gst/check/gstcheck.h>
|
||||||
|
|
||||||
|
static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
|
GST_PAD_SINK,
|
||||||
|
GST_PAD_ALWAYS,
|
||||||
|
GST_STATIC_CAPS ("audio/x-raw-int, " "channels = (int) [ 1, 6 ]")
|
||||||
|
);
|
||||||
|
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
|
GST_PAD_SRC,
|
||||||
|
GST_PAD_ALWAYS,
|
||||||
|
GST_STATIC_CAPS ("audio/x-raw-int, " "channels = (int) [ 1, 6 ]")
|
||||||
|
);
|
||||||
|
|
||||||
|
static void
|
||||||
|
setup_pad_template (GstElementFactory * factory, GstStaticPadTemplate * tmpl)
|
||||||
|
{
|
||||||
|
GstStaticPadTemplate *template;
|
||||||
|
|
||||||
|
template = g_slice_dup (GstStaticPadTemplate, tmpl);
|
||||||
|
factory->staticpadtemplates = g_list_append (factory->staticpadtemplates,
|
||||||
|
template);
|
||||||
|
factory->numpadtemplates++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GstElementFactory *
|
||||||
|
setup_factory (void)
|
||||||
|
{
|
||||||
|
GstPluginFeature *feature;
|
||||||
|
GstElementFactory *factory;
|
||||||
|
|
||||||
|
feature = g_object_newv (GST_TYPE_ELEMENT_FACTORY, 0, NULL);
|
||||||
|
gst_plugin_feature_set_name (feature, "test");
|
||||||
|
|
||||||
|
factory = GST_ELEMENT_FACTORY_CAST (feature);
|
||||||
|
factory->details.longname = g_strdup ("test");
|
||||||
|
factory->details.klass = g_strdup ("test");
|
||||||
|
factory->details.description = g_strdup ("test");
|
||||||
|
factory->details.author = g_strdup ("test");
|
||||||
|
|
||||||
|
setup_pad_template (factory, &sink_template);
|
||||||
|
setup_pad_template (factory, &src_template);
|
||||||
|
|
||||||
|
return factory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* create a basic factory */
|
||||||
|
GST_START_TEST (test_create)
|
||||||
|
{
|
||||||
|
GstElementFactory *factory;
|
||||||
|
|
||||||
|
factory = setup_factory ();
|
||||||
|
fail_if (factory == NULL);
|
||||||
|
|
||||||
|
g_object_unref (factory);
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_END_TEST;
|
||||||
|
|
||||||
/* check if the elementfactory of a class is filled (see #131079) */
|
/* check if the elementfactory of a class is filled (see #131079) */
|
||||||
GST_START_TEST (test_class)
|
GST_START_TEST (test_class)
|
||||||
|
@ -75,6 +130,7 @@ gst_element_factory_suite (void)
|
||||||
|
|
||||||
suite_add_tcase (s, tc_chain);
|
suite_add_tcase (s, tc_chain);
|
||||||
tcase_add_test (tc_chain, test_class);
|
tcase_add_test (tc_chain, test_class);
|
||||||
|
tcase_add_test (tc_chain, test_create);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue