mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
Adding navigation interface.
Original commit message from CVS: Adding navigation interface. Putting a define for USE_SHM waiting for bug #126401 to be fixed.
This commit is contained in:
parent
272458b0b0
commit
60a60a0452
2 changed files with 31 additions and 5 deletions
|
@ -73,6 +73,29 @@ gst_ximagesink_interface_init (GstInterfaceClass *klass)
|
||||||
klass->supported = gst_ximagesink_interface_supported;
|
klass->supported = gst_ximagesink_interface_supported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gst_ximagesink_navigation_send_event (GstNavigation *navigation, GstCaps *caps)
|
||||||
|
{
|
||||||
|
GstXImageSink *ximagesink = GST_XIMAGESINK (navigation);
|
||||||
|
GstEvent *event;
|
||||||
|
|
||||||
|
event = gst_event_new (GST_EVENT_NAVIGATION);
|
||||||
|
/*GST_EVENT_TIMESTAMP (event) = 0;*/
|
||||||
|
event->event_data.caps.caps = caps;
|
||||||
|
|
||||||
|
/* FIXME
|
||||||
|
* Obviously, the pointer x,y coordinates need to be adjusted by the
|
||||||
|
* window size and relation to the bounding window. */
|
||||||
|
|
||||||
|
gst_pad_send_event (gst_pad_get_peer (ximagesink->sinkpad), event);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gst_ximagesink_navigation_init (GstNavigationInterface *iface)
|
||||||
|
{
|
||||||
|
iface->send_event = gst_ximagesink_navigation_send_event;
|
||||||
|
}
|
||||||
|
|
||||||
/* X11 stuff */
|
/* X11 stuff */
|
||||||
|
|
||||||
static GstXImage *
|
static GstXImage *
|
||||||
|
@ -853,12 +876,12 @@ gst_ximagesink_get_type (void)
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
/*static const GInterfaceInfo navigation_info = {
|
static const GInterfaceInfo navigation_info = {
|
||||||
` (GInterfaceInitFunc) gst_ximagesink_navigation_init,
|
(GInterfaceInitFunc) gst_ximagesink_navigation_init,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
static const GInterfaceInfo xoverlay_info = {
|
/*static const GInterfaceInfo xoverlay_info = {
|
||||||
(GInterfaceInitFunc) gst_ximagesink_xoverlay_init,
|
(GInterfaceInitFunc) gst_ximagesink_xoverlay_init,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -871,9 +894,9 @@ gst_ximagesink_get_type (void)
|
||||||
|
|
||||||
g_type_add_interface_static (ximagesink_type, GST_TYPE_INTERFACE,
|
g_type_add_interface_static (ximagesink_type, GST_TYPE_INTERFACE,
|
||||||
&iface_info);
|
&iface_info);
|
||||||
/*g_type_add_interface_static (xvimagesink_type, GST_TYPE_NAVIGATION,
|
g_type_add_interface_static (ximagesink_type, GST_TYPE_NAVIGATION,
|
||||||
&navigation_info);
|
&navigation_info);
|
||||||
g_type_add_interface_static (ximagesink_type, GST_TYPE_X_OVERLAY,
|
/*g_type_add_interface_static (ximagesink_type, GST_TYPE_X_OVERLAY,
|
||||||
&xoverlay_info);*/
|
&xoverlay_info);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,9 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
/* FIXME : We should have a configure test for shm support */
|
||||||
|
#define USE_SHM
|
||||||
|
|
||||||
#ifdef USE_SHM
|
#ifdef USE_SHM
|
||||||
#include <sys/ipc.h>
|
#include <sys/ipc.h>
|
||||||
#include <sys/shm.h>
|
#include <sys/shm.h>
|
||||||
|
|
Loading…
Reference in a new issue