[MPlayer-users] Modeswitching (-vm) picking wrong mode

Niklas Edmundsson nikke at ing.umu.se
Tue Jan 22 10:44:02 CET 2002


On Mon, 21 Jan 2002, Niklas Edmundsson wrote:

> > Please read bugreports.html and provide at least mplayer -v logs
>
> You'll have those logs in a couple of days...

It didn't print any more modechange-info than I had written with -v
(or even multiple -v's) so I peeked at the source instead.

Below (and attached to avoid newline breakage) is a patch that fixes
the obvious error (ie. if it had found 640x480, it wouldn't accept
480x480 as a better resolution even though it's a perfect match).

Index: libvo/vo_x11.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_x11.c,v
retrieving revision 1.47
diff -u -r1.47 vo_x11.c
--- libvo/vo_x11.c      7 Jan 2002 17:33:59 -0000       1.47
+++ libvo/vo_x11.c      22 Jan 2002 09:29:39 -0000
@@ -225,7 +225,7 @@

       for (i=1; i<modecount; i++)
         if ((vidmodes[i]->hdisplay >= X) && (vidmodes[i]->vdisplay >= Y))
-          if ( (vidmodes[i]->hdisplay < modeline_width ) && (vidmodes[i]->vdisplay < modeline_height) )
+          if ( (vidmodes[i]->hdisplay <= modeline_width ) && (vidmodes[i]->vdisplay <= modeline_height) )
           {
              modeline_width=vidmodes[i]->hdisplay;
              modeline_height=vidmodes[i]->vdisplay;


On a side note, the manpage really should mention that you want to use
-noaspect when using -vo x11 -vm in order to get the expected
result...

/Nikke
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Niklas Edmundsson, Admin @ {acc,hpc2n,ing}.umu.se    |   nikke at ing.umu.se
---------------------------------------------------------------------------
 Press the "any key" to continue.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-------------- next part --------------
Index: libvo/vo_x11.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_x11.c,v
retrieving revision 1.47
diff -u -r1.47 vo_x11.c
--- libvo/vo_x11.c      7 Jan 2002 17:33:59 -0000       1.47
+++ libvo/vo_x11.c      22 Jan 2002 09:29:39 -0000
@@ -225,7 +225,7 @@
 
       for (i=1; i<modecount; i++)
         if ((vidmodes[i]->hdisplay >= X) && (vidmodes[i]->vdisplay >= Y))
-          if ( (vidmodes[i]->hdisplay < modeline_width ) && (vidmodes[i]->vdisplay < modeline_height) )
+          if ( (vidmodes[i]->hdisplay <= modeline_width ) && (vidmodes[i]->vdisplay <= modeline_height) )
           {
              modeline_width=vidmodes[i]->hdisplay;
              modeline_height=vidmodes[i]->vdisplay;


More information about the MPlayer-users mailing list