gnomemm r1431 - in gstreamermm/trunk: . build_shared gstreamer/src gstreamerbase gstreamerbase/src



Author: jaalburqu
Date: Mon Mar 31 03:20:39 2008
New Revision: 1431
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1431&view=rev

Log:
2008-03-30  Josà Alburquerque  <jaalburqu svn gnome org>

	* configure.ac: Added new gst-interfaces-0.10 dependency to
	gstreamerbase branch
	* build_shared/Makefile_build.am_fragment: Added gstreamer branch
	includes to "all_includes" (so that gstreamerbase branch can include
	from it)
	* gstreamerbase/gstreamerbasemm-0.10.pc.in: Modified requirements to
	include gstreamermm-0.10 and gst-interfaces-0.10

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/xoverlay.ccg:
	* gstreamerbase/src/xoverlay.hg: Added gst-plugins-base interface
	gstxoverlay

Added:
   gstreamermm/trunk/gstreamerbase/src/xoverlay.ccg
   gstreamermm/trunk/gstreamerbase/src/xoverlay.hg
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/build_shared/Makefile_build.am_fragment
   gstreamermm/trunk/configure.ac
   gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
   gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in
   gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment

Modified: gstreamermm/trunk/build_shared/Makefile_build.am_fragment
==============================================================================
--- gstreamermm/trunk/build_shared/Makefile_build.am_fragment	(original)
+++ gstreamermm/trunk/build_shared/Makefile_build.am_fragment	Mon Mar 31 03:20:39 2008
@@ -26,6 +26,7 @@
 all_includes	= -I$(top_builddir)/$(sublib_topdir)\
 				  -I$(top_srcdir)/$(sublib_topdir)	\
 		  -I$(top_builddir)/gstreamerbase	-I$(top_srcdir)/gstreamerbase \
+		  -I$(top_builddir)/gstreamer		-I$(top_srcdir)/gstreamer \
 				  $(sublib_cflags)
 
 dist_sources	= $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)

Modified: gstreamermm/trunk/configure.ac
==============================================================================
--- gstreamermm/trunk/configure.ac	(original)
+++ gstreamermm/trunk/configure.ac	Mon Mar 31 03:20:39 2008
@@ -133,7 +133,7 @@
 AC_SUBST(GSTREAMERMM_CFLAGS)
 AC_SUBST(GSTREAMERMM_LIBS)
 
-PKG_CHECK_MODULES(GSTREAMERBASEMM, glibmm-2.4 >= ${gstreamermm_min_glibmm_version} gstreamer-plugins-base-0.10 >= ${gstreamermm_min_gst_version})
+PKG_CHECK_MODULES(GSTREAMERBASEMM, glibmm-2.4 >= ${gstreamermm_min_glibmm_version} gstreamer-plugins-base-0.10 >= ${gstreamermm_min_gst_version} gstreamer-interfaces-0.10 >= ${gstreamermm_min_gst_version})
 AC_SUBST(GSTREAMERBASEMM_CFLAGS)
 AC_SUBST(GSTREAMERBASEMM_LIBS)
 

Modified: gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs	Mon Mar 31 03:20:39 2008
@@ -0,0 +1,12 @@
+;; -*- scheme -*-
+; virtual function definitions
+; define-vfunc is g*mm-specific
+; These are hand-written.
+
+; GAsyncResult
+
+(define-vfunc get_source_object
+  (of-object "GAsyncResult")
+  (return-type "GObject*")
+)
+

Modified: gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in
==============================================================================
--- gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in	(original)
+++ gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in	Mon Mar 31 03:20:39 2008
@@ -5,7 +5,7 @@
 
 Name: gstreamerbasemm
 Description: C++ wrapper for gstreamer-base-plugins module
-Requires: glibmm-2.4 gstreamer-plugins-base-0.10 
+Requires: gstreamermm-0.10 gstreamer-plugins-base-0.10 gstreamer-interfaces-0.10
 Version: @VERSION@
 Libs: -L${libdir} -lgstreamerbasemm-0.10
 Cflags: -I${includedir}/gstreamerbasemm-0.10 -I${libdir}/gstreamerbasemm-0.10/include

Modified: gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment	(original)
+++ gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment	Mon Mar 31 03:20:39 2008
@@ -4,7 +4,7 @@
 
 files_posix_hg =
 files_win32_hg =
-files_general_hg = # bin.hg element.hg
+files_general_hg = xoverlay.hg
 
 files_general_deprecated_hg =
 

Added: gstreamermm/trunk/gstreamerbase/src/xoverlay.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamerbase/src/xoverlay.ccg	Mon Mar 31 03:20:39 2008
@@ -0,0 +1,20 @@
+// -*- 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/gstreamerbase/src/xoverlay.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamerbase/src/xoverlay.hg	Mon Mar 31 03:20:39 2008
@@ -0,0 +1,69 @@
+// -*- 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/interfaces/xoverlay.h>
+#include <glibmm/interface.h>
+
+_DEFS(gstreamerbasemm,gstbase)
+
+namespace GstBase
+{
+
+/** XOverlay â Interface for setting/getting a Window on elements supporting
+ * it.
+ * The XOverlay interface is used for 2 main purposes :
+ *
+ * - To get a grab on the Window where the video sink element is going to
+ * render. This is achieved by either being informed about the Window
+ * identifier that the video sink element generated, or by forcing the video
+ * sink element to use a specific Window identifier for rendering.
+ * - To force a redrawing of the latest video frame the video sink element
+ * displayed on the Window. Indeed if the Pipeline is in STATE_PAUSED state,
+ * moving the Window around will damage its content. Application developers
+ * will want to handle the Expose events themselves and force the video sink
+ * element to refresh the Window's content.
+ *
+ * Using the Window created by the video sink is probably the simplest
+ * scenario, in some cases, though, it might not be flexible enough for
+ * application developers if they need to catch events such as mouse moves and
+ * button clicks.
+ *
+ * Setting a specific Window identifier on the video sink element is the most
+ * flexible solution but it has some issues. Indeed the application needs to
+ * set its Window identifier at the right time to avoid internal Window
+ * creation from the video sink element. To solve this issue a Message is
+ * posted on the bus to inform the application that it should set the Window
+ * identifier immediately. Here is an example on how to do that correctly:
+ */
+class XOverlay : public Glib::Interface
+{
+  _CLASS_INTERFACE(XOverlay, GstXOverlay, GST_X_OVERLAY, GstXOverlayClass)
+
+public:
+  _WRAP_METHOD(void set_xwindow_id(gulong xwindow_id), gst_x_overlay_set_xwindow_id)
+  _WRAP_METHOD(void got_xwindow_id(gulong xwindow_id), gst_x_overlay_got_xwindow_id)
+  _WRAP_METHOD(void prepare_xwindow_id(), gst_x_overlay_prepare_xwindow_id)
+  _WRAP_METHOD(void expose(), gst_x_overlay_expose)
+  _WRAP_METHOD(void handle_events(bool handle_events), gst_x_overlay_handle_events)
+};
+
+} // namespace GstBase
+



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