From: Thiago Santos Date: Wed, 24 Nov 2010 23:15:38 +0000 (-0300) Subject: camerabin2: Move plugin init to a separate file X-Git-Tag: 1.19.3~507^2~16062^2~408 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3a8ec18f9680e0bdbee02d041852dd83273f7f9b;p=platform%2Fupstream%2Fgstreamer.git camerabin2: Move plugin init to a separate file Moves plugin init to gstplugin.c to allow multiple elements to register themselves. --- diff --git a/gst/camerabin2/Makefile.am b/gst/camerabin2/Makefile.am index 287c73c..f00f49a 100644 --- a/gst/camerabin2/Makefile.am +++ b/gst/camerabin2/Makefile.am @@ -1,6 +1,7 @@ plugin_LTLIBRARIES = libgstcamerabin2.la -libgstcamerabin2_la_SOURCES = gstviewfinderbin.c +libgstcamerabin2_la_SOURCES = gstviewfinderbin.c \ + gstplugin.c libgstcamerabin2_la_CFLAGS = \ $(GST_PLUGINS_BAD_CFLAGS) \ diff --git a/gst/camerabin2/gstplugin.c b/gst/camerabin2/gstplugin.c new file mode 100644 index 0000000..798ed91 --- /dev/null +++ b/gst/camerabin2/gstplugin.c @@ -0,0 +1,40 @@ +/* GStreamer + * Copyright (C) <2010> Thiago Santos + * + * gstplugin.c: camerabin2 plugin registering + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "gstviewfinderbin.h" + +static gboolean +plugin_init (GstPlugin * plugin) +{ + if (!gst_viewfinder_bin_plugin_init (plugin)) + return FALSE; + + return TRUE; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + "camerabin2", "camerabin2", + plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) diff --git a/gst/camerabin2/gstviewfinderbin.c b/gst/camerabin2/gstviewfinderbin.c index df96113..5d92526 100644 --- a/gst/camerabin2/gstviewfinderbin.c +++ b/gst/camerabin2/gstviewfinderbin.c @@ -165,16 +165,9 @@ gst_viewfinder_bin_change_state (GstElement * element, GstStateChange trans) return ret; } -static gboolean -plugin_init (GstPlugin * plugin) +gboolean +gst_viewfinder_bin_plugin_init (GstPlugin * plugin) { - gst_element_register (plugin, "viewfinderbin", GST_RANK_NONE, + return gst_element_register (plugin, "viewfinderbin", GST_RANK_NONE, gst_viewfinder_bin_get_type ()); - - return TRUE; } - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "viewfinderbin", "viewfinder bin of camerabin2", - plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) diff --git a/gst/camerabin2/gstviewfinderbin.h b/gst/camerabin2/gstviewfinderbin.h index 9b4567b..da5e0ef 100644 --- a/gst/camerabin2/gstviewfinderbin.h +++ b/gst/camerabin2/gstviewfinderbin.h @@ -48,6 +48,7 @@ struct _GstViewfinderBinClass }; GType gst_viewfinder_bin_get_type (void); +gboolean gst_viewfinder_bin_plugin_init (GstPlugin * plugin); G_END_DECLS