On Mon, Jun 14, 2010 at 05:57:06PM +0200, Giorgio wrote: > >> Finally, I did many tests, but this simple modification solves the issue for me: > >> > >> Index: gui/interface.c > >> =================================================================== > >> --- gui/interface.c ? (revision 31381) > >> +++ gui/interface.c ? (working copy) > >> @@ -552,7 +552,6 @@ > >> ? ? ? ? guiIntfStruct.MovieHeight=vo_dheight; > >> ? ? ? ? ? ?if (guiWinID>=0) > >> ? ? ? ? ? ? ?wsMoveWindow( &appMPlayer.mainWindow,0,0, vo_dheight); > >> - ? ? ? ? ?WinID = appMPlayer.subWindow.WindowID; > >> ? ? ? ? ? } > >> ? ? ? break; > >> ?#ifdef CONFIG_DVDREAD > >> > >> I don't get the error if I apply this patch, and the video frames are > >> displayed correctly now, both in window and fullscreen mode. Thanks. > > > > Uh, it will be completely broken now after some more cleanup changes I > > did. > > On the other hand, there's a chance it will now work after you revert this, > > but I doubt it... > > Yes, r31394 (without any modification) is definitely broken and the > patch above doesn't work anymore. > From a user's point of view, maybe r31380 makes things worse. The code > was set to exit on X error, but now just goes on and doesn't display > the video properly, like in my case. You are assuming that most of these errors have any relevance at all. Hint: usually they don't. > Also, I'm sure the error is meaningful for someone who knows the code > and all the X stuff, but I assume the gui has no maintainer nowadays. It means switching the colormap failed. Should not have any relevance at all for OpenGL though. > Allright, I'll use gmplayer+xv then. If I get a chance, I'll test it > on another machine with nvidia drivers to see if it works or if it's > just my system, and report here. Well, it works on ATI HD 5770 with proprietary drivers, and ancient ATI 7200 (I think) with DRI/Mesa and on an Intel GPU (GMA950 or so?). And as I said, it should just be a matter of commenting out the right line(s) of the vo_x11_create_vo_window function (well, at least with -vo gl:yuv=2). You can try this as a starting point: Index: libvo/vo_gl.c =================================================================== --- libvo/vo_gl.c (revision 31389) +++ libvo/vo_gl.c (working copy) @@ -635,8 +635,8 @@ int_pause = 0; vo_flipped = !!(flags & VOFLAG_FLIPPING); - if (create_window(d_width, d_height, flags, title) < 0) - return -1; +// if (create_window(d_width, d_height, flags, title) < 0) +// return -1; if (vo_config_count) uninitGl();