gnomemm r1431 - in gstreamermm/trunk: . build_shared gstreamer/src gstreamerbase gstreamerbase/src
- From: jaalburqu svn gnome org
- To: svn-commits-list gnome org
- Subject: gnomemm r1431 - in gstreamermm/trunk: . build_shared gstreamer/src gstreamerbase gstreamerbase/src
- Date: Mon, 31 Mar 2008 03:20:39 +0100 (BST)
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]