[vdr] softdevice and epia tv-out problem with Xorg

Stefan Lucke stefan at lucke.in-berlin.de
Fri Nov 3 19:33:15 CET 2006


On Donnerstag 02 November 2006 23:38, Stefan Lucke wrote:
> Quoting Leo Márquez:
> 
> > Hi again,
> >
> > Stefan Lucke escribió:
> >
> > >>/ But after started it without problems now I get:
> > >/>/
> > >/>/ [softdevice] A/V devices initialized, now initializing MPEG2 Decoder
> > >/>/ X Error of failed request:  BadValue (integer parameter out of range for
> > >/>/ operation)
> > >/>/   Major opcode of failed request:  145 (MIT-SHM)
> > >/>/     Minor opcode of failed request:  3 (X_ShmPutImage)
> > >/>/       Value in failed request:  0x3ff
> > >/
> > >Which are the startup options now ?
> > >0x3ff = 1023 = 1024 - 11
> > >
> > >
> > My startup options are only "-vo xv:full"
> >
> > >Did you changed your X resolution via "ALT"+"CTRL"+"Keypad +" ?
> > >
> > >
> > No but I press the 'f' key to toggle between fullscreen and windowed vdr
> > mode.
> > The second time I run vdr with -vo xv:full don't work
> 
> Ah, I should have mentioned that you _must_ not toggle full screen ->
> windowed mode, as windowed mode works with some default values
> which even did not work previously (thats why I ask for full screen mode).
> 
> I'll send you a patch tomorrow that will restrict these values.
> 

Ok, here comes the patch. I tested it with 640x480 resolution and now I do not
get these failed request any more. In contrast to your setup, mine worked fine
when setting "softdevice.OSDalphablend = 1"  in vdr's setup.conf even
without the patch.

-- 
Stefan Lucke
-------------- next part --------------
Index: video-xv.c
===================================================================
RCS file: /cvsroot/softdevice/softdevice/video-xv.c,v
retrieving revision 1.63
diff -U3 -r1.63 video-xv.c
--- video-xv.c	29 Sep 2006 19:17:18 -0000	1.63
+++ video-xv.c	3 Nov 2006 18:29:54 -0000
@@ -862,6 +862,23 @@
     }
   }
 #endif
+
+  /* -------------------------------------------------------------------------
+   * limit widht and height to screen dimensions
+   */
+  {
+      int  screen_width, screen_height;
+
+    screen_width  = DisplayWidth(dpy, scn_id);
+    screen_height = DisplayHeight(dpy, scn_id);
+    
+    if (height > screen_height)
+      old_dheight = lheight = dheight = height = screen_height;
+
+    if (width > screen_width)
+      old_dwidth = lwidth = dwidth = width = screen_width;
+  }
+
   /* -------------------------------------------------------------------------
    * default settings which allow arbitraray resizing of the window
    */


More information about the vdr mailing list