Index: video_out_xv.c
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xv.c,v
retrieving revision 1.191
diff -u -r1.191 video_out_xv.c
--- video_out_xv.c	3 Mar 2004 20:09:15 -0000	1.191
+++ video_out_xv.c	16 Mar 2004 14:22:26 -0000
@@ -65,7 +65,7 @@
 #include <X11/extensions/Xv.h>
 #include <X11/extensions/Xvlib.h>
 
-#define LOG_MODULE "vidoe_out_xv"
+#define LOG_MODULE "video_out_xv"
 #define LOG_VERBOSE
 /*
 #define LOG
@@ -157,6 +157,7 @@
   XvPortID             xv_port;
   XvAdaptorInfo       *adaptor_info;
   unsigned int         adaptor_num;
+  char                *adaptor_name;
   xine_t              *xine;
 } xv_class_t;
 
@@ -1253,10 +1254,13 @@
     for(k = 0; k < nattr; k++) {
       if((attr[k].flags & XvSettable) && (attr[k].flags & XvGettable)) {
 	if(!strcmp(attr[k].name, "XV_HUE")) {
-	  xv_check_capability (this, VO_PROP_HUE, attr[k],
-			       class->adaptor_info[class->adaptor_num].base_id, "XV_HUE",
-			       NULL, NULL);
-
+	  if (!strncmp(class->adaptor_name, "NV", 2)) {
+            xprintf (this->xine, XINE_VERBOSITY_NONE, "video_out_xv: ignoring broken XV_HUE settings on NVidia cards");
+	  } else {
+	    xv_check_capability (this, VO_PROP_HUE, attr[k],
+			         class->adaptor_info[class->adaptor_num].base_id, "XV_HUE",
+			         NULL, NULL);
+	  }
 	} else if(!strcmp(attr[k].name, "XV_SATURATION")) {
 	  xv_check_capability (this, VO_PROP_SATURATION, attr[k],
 			       class->adaptor_info[class->adaptor_num].base_id, "XV_SATURATION",
@@ -1391,6 +1395,7 @@
   XLockDisplay(this->display);
   XvFreeAdaptorInfo (this->adaptor_info);
   XUnlockDisplay(this->display);
+  free (this->adaptor_name);
 
   free (this);
 }
@@ -1485,6 +1490,7 @@
   this->xv_port                      = xv_port;
   this->adaptor_info                 = adaptor_info;
   this->adaptor_num                  = adaptor_num;
+  this->adaptor_name                 = strdup (adaptor_info[adaptor_num].name);
   this->xine                         = xine;
 
   return this;
