diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2005-01-10 11:16:13 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2005-01-10 11:16:13 +0000 |
commit | e6de2ce4fface935cabbd3cbdf74a37497c5846e (patch) | |
tree | 25b745cc7f05503af27c691686ba8856f36aa031 /sys/v4l2 | |
parent | 03f5811970633c07f00d715f187ed282ba755c19 (diff) | |
download | gst-plugins-bad-e6de2ce4fface935cabbd3cbdf74a37497c5846e.tar.gz gst-plugins-bad-e6de2ce4fface935cabbd3cbdf74a37497c5846e.tar.bz2 gst-plugins-bad-e6de2ce4fface935cabbd3cbdf74a37497c5846e.zip |
sys/: Add debug categories, fix overlay disabling.
Original commit message from CVS:
* sys/v4l/gstv4lxoverlay.c: (gst_v4l_xoverlay_interface_init),
(gst_v4l_xoverlay_set_xwindow_id):
* sys/v4l2/gstv4l2xoverlay.c: (gst_v4l2_xoverlay_interface_init),
(gst_v4l2_xoverlay_set_xwindow_id):
Add debug categories, fix overlay disabling.
Diffstat (limited to 'sys/v4l2')
-rw-r--r-- | sys/v4l2/gstv4l2xoverlay.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/v4l2/gstv4l2xoverlay.c b/sys/v4l2/gstv4l2xoverlay.c index 7976b60d..2e416b3e 100644 --- a/sys/v4l2/gstv4l2xoverlay.c +++ b/sys/v4l2/gstv4l2xoverlay.c @@ -36,6 +36,9 @@ #include "gstv4l2element.h" #include "v4l2_calls.h" +GST_DEBUG_CATEGORY_STATIC (v4l2xv_debug); +#define GST_CAT_DEFAULT v4l2xv_debug + struct _GstV4l2Xv { Display *dpy; @@ -51,6 +54,9 @@ gst_v4l2_xoverlay_interface_init (GstXOverlayClass * klass) { /* default virtual functions */ klass->set_xwindow_id = gst_v4l2_xoverlay_set_xwindow_id; + + GST_DEBUG_CATEGORY_INIT (v4l2xv_debug, "v4l2xv", 0, + "V4L2 XOverlay interface debugging"); } void @@ -168,13 +174,19 @@ gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay * overlay, XID xwindow_id) XWindowAttributes attr; gboolean change = (v4l2element->xwindow_id != xwindow_id); + GST_LOG_OBJECT (v4l2element, "Setting XID to %lx", (gulong) xwindow_id); + if (v4l2xv) g_mutex_lock (v4l2xv->mutex); if (change) { - if (v4l2element->xwindow_id) { + if (v4l2element->xwindow_id && v4l2xv) { + GST_DEBUG_OBJECT (v4l2element, + "Deactivating old port %lx", v4l2element->xwindow_id); + XvSelectPortNotify (v4l2xv->dpy, v4l2xv->port, 0); XvSelectVideoNotify (v4l2xv->dpy, v4l2element->xwindow_id, 0); + XvStopVideo (v4l2xv->dpy, v4l2xv->port, v4l2element->xwindow_id); } v4l2element->xwindow_id = xwindow_id; @@ -187,6 +199,8 @@ gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay * overlay, XID xwindow_id) } if (change) { + GST_DEBUG_OBJECT (v4l2element, "Activating new port %lx", xwindow_id); + /* draw */ XvSelectPortNotify (v4l2xv->dpy, v4l2xv->port, 1); XvSelectVideoNotify (v4l2xv->dpy, v4l2element->xwindow_id, 1); |