+2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * 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.
+
2005-01-10 Stephane LOEUILLET <stephane.loeuillet@tiscali.fr>
* ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_get_caps):
#include "gstv4lelement.h"
#include "v4l_calls.h"
+GST_DEBUG_CATEGORY_STATIC (v4lxv_debug);
+#define GST_CAT_DEFAULT v4lxv_debug
+
struct _GstV4lXv
{
Display *dpy;
{
/* default virtual functions */
klass->set_xwindow_id = gst_v4l_xoverlay_set_xwindow_id;
+
+ GST_DEBUG_CATEGORY_INIT (v4lxv_debug, "v4lxv", 0,
+ "V4L XOverlay interface debugging");
}
void
XWindowAttributes attr;
gboolean change = (v4lelement->xwindow_id != xwindow_id);
+ GST_LOG_OBJECT (v4lelement, "Changing port to %lx", xwindow_id);
+
if (v4lxv)
g_mutex_lock (v4lxv->mutex);
if (change) {
- if (v4lelement->xwindow_id) {
+ if (v4lelement->xwindow_id && v4lxv) {
+ GST_DEBUG_OBJECT (v4lelement,
+ "Disabling port %lx", v4lelement->xwindow_id);
+
XvSelectPortNotify (v4lxv->dpy, v4lxv->port, 0);
XvSelectVideoNotify (v4lxv->dpy, v4lelement->xwindow_id, 0);
+ XvStopVideo (v4lxv->dpy, v4lxv->port, v4lelement->xwindow_id);
}
v4lelement->xwindow_id = xwindow_id;
}
if (change) {
+ GST_DEBUG_OBJECT (v4lelement, "Enabling port %lx", xwindow_id);
+
/* draw */
XvSelectPortNotify (v4lxv->dpy, v4lxv->port, 1);
XvSelectVideoNotify (v4lxv->dpy, v4lelement->xwindow_id, 1);