gnomemm r1331 - in gstreamermm/trunk: . gstreamer gstreamer/src



Author: jaalburqu
Date: Fri Feb  8 20:39:41 2008
New Revision: 1331
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1331&view=rev

Log:
2008-02-08  Josà Alburquerque  <jaalburqu svn gnome org>

	* gstreamer/gstreamermm.h:
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* gstreamer/src/element.hg:
	* gstreamer/src/elementfactory.ccg:
	* gstreamer/src/elementfactory.hg:
	* gstreamer/src/plugin.ccg:
	* gstreamer/src/plugin.hg:
	* gstreamer/src/pluginfeature.ccg:
	* gstreamer/src/pluginfeature.hg: Added PluginFeature, Plugin and
	ElementFactory (still need to be wrapped); Removed unused _PINCLUDE in
	element.hg


Added:
   gstreamermm/trunk/gstreamer/src/elementfactory.ccg
   gstreamermm/trunk/gstreamer/src/elementfactory.hg
   gstreamermm/trunk/gstreamer/src/plugin.ccg
   gstreamermm/trunk/gstreamer/src/plugin.hg
   gstreamermm/trunk/gstreamer/src/pluginfeature.ccg
   gstreamermm/trunk/gstreamer/src/pluginfeature.hg
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/gstreamer/gstreamermm.h
   gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
   gstreamermm/trunk/gstreamer/src/element.hg

Modified: gstreamermm/trunk/gstreamer/gstreamermm.h
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm.h	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm.h	Fri Feb  8 20:39:41 2008
@@ -8,6 +8,7 @@
 #include <gstreamermm/childproxy.h>
 #include <gstreamermm/clock.h>
 #include <gstreamermm/element.h>
+#include <gstreamermm/elementfactory.h>
 #include <gstreamermm/enums.h>
 #include <gstreamermm/error.h>
 #include <gstreamermm/event.h>
@@ -18,6 +19,8 @@
 #include <gstreamermm/pad.h>
 #include <gstreamermm/padtemplate.h>
 #include <gstreamermm/pipeline.h>
+#include <gstreamermm/plugin.h>
+#include <gstreamermm/pluginfeature.h>
 #include <gstreamermm/query.h>
 #include <gstreamermm/structure.h>
 #include <gstreamermm/systemclock.h>

Modified: gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment	(original)
+++ gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment	Fri Feb  8 20:39:41 2008
@@ -5,9 +5,10 @@
 files_posix_hg =
 files_win32_hg =
 files_general_hg = bin.hg buffer.hg bus.hg caps.hg childproxy.hg clock.hg \
-	element.hg enums.hg error.hg event.hg format.hg iterator.hg \
-	message.hg pad.hg padtemplate.hg pipeline.hg query.hg structure.hg \
-	systemclock.hg value.hg xml.hg
+	element.hg elementfactory.hg enums.hg error.hg event.hg format.hg \
+	iterator.hg message.hg pad.hg padtemplate.hg pipeline.hg plugin.hg \
+	pluginfeature.hg query.hg structure.hg systemclock.hg value.hg \
+	xml.hg
 
 files_general_deprecated_hg =
 

Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/element.hg	Fri Feb  8 20:39:41 2008
@@ -21,7 +21,6 @@
 #include <gstreamermm/clock.h>
 #include <gstreamermm/enums.h>
 _DEFS(gstreamermm,gst)
-_PINCLUDE(glibmm/private/object_p.h)
 _PINCLUDE(gstreamermm/private/object_p.h)
 
 namespace Gst

Added: gstreamermm/trunk/gstreamer/src/elementfactory.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/elementfactory.ccg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/elementfactory.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/elementfactory.hg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,56 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstelement.h>
+#include <gst/gstelementfactory.h>
+#include <gstreamermm/pluginfeature.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/pluginfeature_p.h)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+/** ElementFactory â Create Elements from a factory.
+ * ElementFactory is used to create instances of elements. A Elementfactory can
+ * be added to a Plugin as it is also a PluginFeature.
+ *
+ * Use the find() and create() functions to create element instances or use
+ * make() as a convenient shortcut.
+ *
+ * The following code example shows you how to create a GstFileSrc element.
+ *
+ * TODO: Add code example from GStreamer docs
+ *
+ * @newin2p16
+ */
+class ElementFactory : public PluginFeature
+{
+  _CLASS_GOBJECT(ElementFactory, GstElementFactory, GST_ELEMENT_FACTORY, PluginFeature, GstPluginFeature)
+
+public:
+
+};
+
+} // namespace Gst
+

Added: gstreamermm/trunk/gstreamer/src/plugin.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/plugin.ccg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/plugin.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/plugin.hg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,65 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstplugin.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+//TODO: Edit references below to use gstreamermm classes/methods
+
+/** Plugin â Container for features loaded from a shared object module.
+ * GStreamer is extensible, so Element instances can be loaded at runtime. A
+ * plugin system can provide one or more of the basic GStreamer
+ * PluginFeature subclasses.
+ *
+ * A plugin should export a symbol gst_plugin_desc that is a struct of type
+ * PluginDesc. the plugin loader will check the version of the core library
+ * the plugin was linked against and will create a new Plugin. It will then
+ * call the PluginInitFunc function that was provided in the gst_plugin_desc.
+ *
+ * Once you have a handle to a Plugin (e.g. from the RegistryPool), you can add
+ * any object that subclasses PluginFeature.
+ *
+ * Use find_feature() and feature_list() to find features in a plugin.
+ *
+ * Usually plugins are always automaticlly loaded so you don't need to call
+ * gst_plugin_load() explicitly to bring it into memory. There are options to
+ * statically link plugins to an app or even use GStreamer without a plugin
+ * repository in which case gst_plugin_load() can be needed to bring the plugin
+ * into memory.
+ *
+ * @newin2p16
+ */
+class Plugin : public Object
+{
+  _CLASS_GOBJECT(Plugin, GstPlugin, GST_PLUGIN, Object, GstObject)
+
+public:
+
+};
+
+} // namespace Gst
+

Added: gstreamermm/trunk/gstreamer/src/pluginfeature.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.ccg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/pluginfeature.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.hg	Fri Feb  8 20:39:41 2008
@@ -0,0 +1,44 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstpluginfeature.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+/** This is a base class for anything that can be added to a Plugin.
+ *
+ * @newin2p16
+ */
+class PluginFeature : public Object
+{
+  _CLASS_GOBJECT(PluginFeature, GstPluginFeature, GST_PLUGIN_FEATURE, Object, GstObject)
+
+public:
+
+};
+
+} // namespace Gst
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]