diff options
Diffstat (limited to 'gst/virtualdub/gstvirtualdub.c')
-rw-r--r-- | gst/virtualdub/gstvirtualdub.c | 97 |
1 files changed, 48 insertions, 49 deletions
diff --git a/gst/virtualdub/gstvirtualdub.c b/gst/virtualdub/gstvirtualdub.c index c6091233..2495d449 100644 --- a/gst/virtualdub/gstvirtualdub.c +++ b/gst/virtualdub/gstvirtualdub.c @@ -25,69 +25,68 @@ #include "gstvirtualdub.h" -struct _elements_entry { +struct _elements_entry +{ gchar *name; - GType (*type) (void); + GType (*type) (void); GstElementDetails *details; - gboolean (*factoryinit) (GstElementFactory *factory); + gboolean (*factoryinit) (GstElementFactory * factory); }; static struct _elements_entry _elements[] = { - { "xsharpen", gst_xsharpen_get_type, &gst_xsharpen_details, NULL }, - { NULL, 0 }, + {"xsharpen", gst_xsharpen_get_type, &gst_xsharpen_details, NULL}, + {NULL, 0}, }; -GstPadTemplate* +GstPadTemplate * gst_virtualdub_src_factory (void) { static GstPadTemplate *templ = NULL; + if (!templ) { - templ = GST_PAD_TEMPLATE_NEW ( - "src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_CAPS_NEW ( - "virtualdub_src", - "video/x-raw-rgb", - "bpp", GST_PROPS_INT (32), - "depth", GST_PROPS_INT (32), - "endianness", GST_PROPS_INT (G_BYTE_ORDER), - "red_mask", GST_PROPS_INT (0xff0000), - "green_mask", GST_PROPS_INT (0xff00), - "blue_mask", GST_PROPS_INT (0xff), - "width", GST_PROPS_INT_RANGE (16, 4096), - "height", GST_PROPS_INT_RANGE (16, 4096), - "framerate", GST_PROPS_FLOAT_RANGE (0, G_MAXFLOAT) - ) - ); + templ = GST_PAD_TEMPLATE_NEW ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, + GST_CAPS_NEW ("virtualdub_src", + "video/x-raw-rgb", + "bpp", GST_PROPS_INT (32), + "depth", GST_PROPS_INT (32), + "endianness", GST_PROPS_INT (G_BYTE_ORDER), + "red_mask", GST_PROPS_INT (0xff0000), + "green_mask", GST_PROPS_INT (0xff00), + "blue_mask", GST_PROPS_INT (0xff), + "width", GST_PROPS_INT_RANGE (16, 4096), + "height", GST_PROPS_INT_RANGE (16, 4096), + "framerate", GST_PROPS_FLOAT_RANGE (0, G_MAXFLOAT) + ) + ); } return templ; } -GstPadTemplate* +GstPadTemplate * gst_virtualdub_sink_factory (void) { static GstPadTemplate *templ = NULL; + if (!templ) { - templ = GST_PAD_TEMPLATE_NEW ( - "sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_CAPS_NEW ( - "virtualdub_sink", - "video/x-raw-rgb", - "bpp", GST_PROPS_INT (32), - "depth", GST_PROPS_INT (32), - "endianness", GST_PROPS_INT (G_BYTE_ORDER), - "red_mask", GST_PROPS_INT (0xff0000), - "green_mask", GST_PROPS_INT (0xff00), - "blue_mask", GST_PROPS_INT (0xff), - "width", GST_PROPS_INT_RANGE (16, 4096), - "height", GST_PROPS_INT_RANGE (16, 4096), - "framerate", GST_PROPS_FLOAT_RANGE (0, G_MAXFLOAT) - ) - ); + templ = GST_PAD_TEMPLATE_NEW ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_CAPS_NEW ("virtualdub_sink", + "video/x-raw-rgb", + "bpp", GST_PROPS_INT (32), + "depth", GST_PROPS_INT (32), + "endianness", GST_PROPS_INT (G_BYTE_ORDER), + "red_mask", GST_PROPS_INT (0xff0000), + "green_mask", GST_PROPS_INT (0xff00), + "blue_mask", GST_PROPS_INT (0xff), + "width", GST_PROPS_INT_RANGE (16, 4096), + "height", GST_PROPS_INT_RANGE (16, 4096), + "framerate", GST_PROPS_FLOAT_RANGE (0, G_MAXFLOAT) + ) + ); } return templ; } @@ -100,16 +99,16 @@ plugin_init (GModule * module, GstPlugin * plugin) while (_elements[i].name) { factory = gst_element_factory_new (_elements[i].name, - (_elements[i].type) (), - _elements[i].details); + (_elements[i].type) (), _elements[i].details); if (!factory) { - g_warning ("gst_virtualdub_new failed for `%s'", - _elements[i].name); + g_warning ("gst_virtualdub_new failed for `%s'", _elements[i].name); continue; } - gst_element_factory_add_pad_template (factory, gst_virtualdub_src_factory ()); - gst_element_factory_add_pad_template (factory, gst_virtualdub_sink_factory ()); + gst_element_factory_add_pad_template (factory, + gst_virtualdub_src_factory ()); + gst_element_factory_add_pad_template (factory, + gst_virtualdub_sink_factory ()); gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); if (_elements[i].factoryinit) { |