Index: sys/videosink/gstxvimage.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/sys/videosink/gstxvimage.c,v retrieving revision 1.5 diff -u -u -r1.5 gstxvimage.c --- sys/videosink/gstxvimage.c 14 Sep 2002 13:25:43 -0000 1.5 +++ sys/videosink/gstxvimage.c 3 Nov 2002 05:30:34 -0000 @@ -26,6 +26,7 @@ #include #include +#include #include "gstvideosink.h" @@ -375,6 +376,21 @@ static void gst_xvimage_open_conn (GstImageConnection *conn, GstImageInfo *info) { + const GstXvConnection * const xvconn = gst_xv_connection (conn); + Display * const display = xvconn->display; + const XvPortID port = xvconn->port; + + int i, count; + const XvAttribute * const attr = XvQueryPortAttributes(display, port, &count); + static const char autopaint[] = "XV_AUTOPAINT_COLORKEY"; + + for (i = 0; i < count; ++i) + if (!strcmp(attr[i].name, autopaint)) + { + const Atom atom = XInternAtom(display, autopaint, False); + XvSetPortAttribute(display, port, atom, 1); + break; + } } static void gst_xvimage_close_conn (GstImageConnection *conn, GstImageInfo *info) Index: sys/xvideo/gstxvimage.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/sys/xvideo/gstxvimage.c,v retrieving revision 1.13 diff -u -u -r1.13 gstxvimage.c --- sys/xvideo/gstxvimage.c 22 Sep 2002 00:44:21 -0000 1.13 +++ sys/xvideo/gstxvimage.c 3 Nov 2002 05:30:35 -0000 @@ -170,6 +170,20 @@ im_port = ai[i].base_id; im_adaptor = i; + { + int count; + const XvAttribute * const attr = XvQueryPortAttributes(display, im_port, &count); + static const char autopaint[] = "XV_AUTOPAINT_COLORKEY"; + + for (j = 0; j < count; ++j) + if (!strcmp(attr[j].name, autopaint)) + { + const Atom atom = XInternAtom(display, autopaint, False); + XvSetPortAttribute(display, im_port, atom, 1); + break; + } + } + /* *** image scaler port *** */ fo = XvListImageFormats(display, im_port, &formats);