diff options
author | Julien Moutte <julien@moutte.net> | 2003-11-17 15:42:32 +0000 |
---|---|---|
committer | Julien Moutte <julien@moutte.net> | 2003-11-17 15:42:32 +0000 |
commit | 21d8a397eb43aedde43e6a567d3865d174b98e1b (patch) | |
tree | 5f21ec59b0aa835f5cdd57d8ac0962a3c3e13c21 | |
parent | 6650cd92ec5c5734be7c862580d086b54116628b (diff) | |
download | gst-plugins-bad-21d8a397eb43aedde43e6a567d3865d174b98e1b.tar.gz gst-plugins-bad-21d8a397eb43aedde43e6a567d3865d174b98e1b.tar.bz2 gst-plugins-bad-21d8a397eb43aedde43e6a567d3865d174b98e1b.zip |
Merging with GstXOverlay
Original commit message from CVS:
Merging with GstXOverlay
-rw-r--r-- | gst-libs/gst/videooverlay/Makefile.am | 10 | ||||
-rw-r--r-- | gst-libs/gst/videooverlay/gstvideooverlay.c | 162 | ||||
-rw-r--r-- | gst-libs/gst/videooverlay/gstvideooverlay.h | 89 |
3 files changed, 0 insertions, 261 deletions
diff --git a/gst-libs/gst/videooverlay/Makefile.am b/gst-libs/gst/videooverlay/Makefile.am deleted file mode 100644 index 9e82faaa..00000000 --- a/gst-libs/gst/videooverlay/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -libgstinterfacesincludedir = \ - $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/videooverlay - -libgstinterfacesinclude_HEADERS = gstvideooverlay.h - -noinst_LTLIBRARIES = libgstvideooverlay.la - -libgstvideooverlay_la_SOURCES = gstvideooverlay.c -libgstvideooverlay_la_CFLAGS = $(GST_CFLAGS) $(GST_OPT_CFLAGS) - diff --git a/gst-libs/gst/videooverlay/gstvideooverlay.c b/gst-libs/gst/videooverlay/gstvideooverlay.c deleted file mode 100644 index c3b95f55..00000000 --- a/gst-libs/gst/videooverlay/gstvideooverlay.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * GStreamer Video Overlay interface. - * - * Copyright (C) <2003> Julien Moutte <julien@moutte.net> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License - * along with this program; 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 "gstvideooverlay.h" - -/* VideoSink signals and args */ - -enum { - HAVE_VIDEO_OVERLAY, - HAVE_SIZE, - LAST_SIGNAL -}; - -static guint gst_video_overlay_signals[LAST_SIGNAL] = { 0 }; - -/* Initing stuff */ - -static void -gst_video_overlay_base_init (gpointer g_class) -{ - static gboolean initialized = FALSE; - - if (! initialized) - { - gst_video_overlay_signals[HAVE_SIZE] = - g_signal_new ("have_size", - GST_TYPE_VIDEO_OVERLAY, G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GstVideoOverlayInterface, have_size), - NULL, NULL, - gst_marshal_VOID__INT_INT, G_TYPE_NONE, 2, - G_TYPE_UINT, G_TYPE_UINT); - - gst_video_overlay_signals[HAVE_VIDEO_OVERLAY] = - g_signal_new ("have_video_overlay", - GST_TYPE_VIDEO_OVERLAY, G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GstVideoOverlayInterface, have_video_overlay), - NULL, NULL, - g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, - G_TYPE_POINTER); - - initialized = TRUE; - } -} - -/* Public virtual methods */ - -/** - * gst_video_overlay_set_video_overlay: - * @overlay: a #GstVideoOverlay to set the video overlay on. - * @video_out: the #gpointer linking to video overlay. - * - * This will call the video overlay's set_video_overlay method. You should - * use this method to tell to a video overlay to display video output to a - * specific video overlay resource. - */ -void -gst_video_overlay_set_video_overlay (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource) -{ - GstVideoOverlayInterface *interface; - - g_return_if_fail (overlay != NULL); - g_return_if_fail (GST_IS_VIDEO_OVERLAY (overlay)); - - interface = GST_VIDEO_OVERLAY_GET_INTERFACE (overlay); - - if (interface->set_video_out) - interface->set_video_out (overlay, resource); -} - -/* Public methods */ - -/** - * gst_video_overlay_got_video_overlay: - * @overlay: a #GstVideoOverlay which got a video overlay resource. - * @video_out: a #gpointer linking to the video overlay ressource. - * - * This will fire an have_video_out signal. - * - * This function should be used by video overlay developpers. - */ -void -gst_video_overlay_got_video_overlay (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource) -{ - g_return_if_fail (overlay != NULL); - g_return_if_fail (GST_IS_VIDEO_OVERLAY (overlay)); - - g_signal_emit (G_OBJECT (overlay), - gst_video_overlay_signals[HAVE_VIDEO_OVERLAY], 0, resource); -} - -/** - * gst_video_overlay_got_video_size: - * @overlay: a #GstVideoOverlay which received video geometry. - * @width: a width as a #gint. - * @height: a height as a #gint. - * - * This will fire an have_size signal. - * - * This function should be used by video overlay developpers. - */ -void -gst_video_overlay_got_video_size (GstVideoOverlay *overlay, - gint width, gint height) -{ - g_return_if_fail (overlay != NULL); - g_return_if_fail (GST_IS_VIDEO_OVERLAY (overlay)); - - g_signal_emit (G_OBJECT (overlay), gst_video_overlay_signals[HAVE_SIZE], - 0, width, height); -} - -GType -gst_video_overlay_get_type (void) -{ - static GType overlay_type = 0; - - if (!overlay_type) - { - static const GTypeInfo overlay_info = { - sizeof (GstVideoOverlayInterface), /* class_size */ - gst_video_overlay_base_init, /* base_init */ - NULL, - NULL, - NULL, - NULL, - 0, - 0, - NULL - }; - - overlay_type = g_type_register_static (G_TYPE_INTERFACE, - "GstVideoOverlay", - &overlay_info, 0); - g_type_interface_add_prerequisite (overlay_type, - GST_TYPE_INTERFACE); - } - - return overlay_type; -} diff --git a/gst-libs/gst/videooverlay/gstvideooverlay.h b/gst-libs/gst/videooverlay/gstvideooverlay.h deleted file mode 100644 index e8a33a6b..00000000 --- a/gst-libs/gst/videooverlay/gstvideooverlay.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * GStreamer Video Overlay interface. - * - * Copyright (C) <2003> Julien Moutte <julien@moutte.net> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __GST_VIDEO_OVERLAY_H__ -#define __GST_VIDEO_OVERLAY_H__ - -#include <gst/gst.h> - -G_BEGIN_DECLS - -#define GST_TYPE_VIDEO_OVERLAY (gst_video_overlay_get_type ()) -#define GST_VIDEO_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VIDEO_OVERLAY, GstVideoOverlay)) -#define GST_IS_VIDEO_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VIDEO_OVERLAY)) -#define GST_VIDEO_OVERLAY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_VIDEO_OVERLAY, GstVideoOverlayInterface)) - -typedef struct _GstVideoOverlay GstVideoOverlay; -typedef struct _GstVideoOverlayInterface GstVideoOverlayInterface; - -typedef struct _GstVideoOverlayResource GstVideoOverlayResource; - -typedef enum { - GST_VIDEO_OVERLAY_RESOURCE_TYPE_XID, - GST_VIDEO_OVERLAY_RESOURCE_TYPE_DIRECTFB -} GstVideoOverlayResourceType; - -struct _GstVideoOverlayResource -{ - GstVideoOverlayResourceType resource_type; - union - { - struct - { - guint32 xid; - } x_resource; - struct - { - gpointer display_layer; - gpointer window; - } dfb_resource; - } resource_data; -}; - -struct _GstVideoOverlay; - -struct GstVideoOverlayInterface { - GTypeInterface parent_class; - - /* public virtual methods */ - void (*set_video_overlay) (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource); - - /* signals */ - void (*have_video_overlay) (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource); - void (*have_size) (GstVideoOverlay *overlay, gint width, gint height); -}; - -GType gst_video_overlay_get_type (void); - -/* public virtual methods */ -void gst_video_overlay_set_video_overlay (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource); - -/* public methods to fire signals */ -void gst_video_overlay_got_video_overlay (GstVideoOverlay *overlay, - GstVideoOverlayResource *resource); -void gst_video_overlay_got_video_size (GstVideoOverlay *overlay, - gint width, gint height); - -G_END_DECLS - -#endif /* __GST_VIDEO_OVERLAY_H__ */ |