[mythtv] [PATCH] Fix (now broken) screen settings

John Patrick Poet john at BlueSkyTours.com
Mon Mar 21 16:44:09 UTC 2005

On Sun, 20 Mar 2005, John Patrick Poet wrote:

> John Patrick Poet wrote:
> > Daniel Thor Kristjansson wrote:
> >
> >> On Thu, 10 Mar 2005, Nigel Pearson wrote:
> >> ]    I think the Xv and XVMC videoout stuff is identical
> >> ]in the geometry respect (being a derivative work), and I
> >> ]did made the same change to both, so both should be good?
> >>
> >> I've attached a patch that makes the XVideo and XvMC video out stuff
> >> work. But you might have to do some work on DisplayResOSX.cpp.
> >>
> >> This actually started out as just a patch to improve DisplayRes, so
> >> I'll describe that first.
> >>
> >> At the moment you need to spin in an X and Y resolution for the GUI,
> >> playback, and the video specific overrides. I've added a
> >> GetVideoModes() method to DisplayRes that returns all the possible
> >> resolutions and the valid refresh rates at each resolution. This
> >> allows us to just flip through the valid resolutions, and I've also
> >> modified DisplayRes so that you can ask for a specific refresh rate,
> >> so you can specify a 60 Hz refresh rate for playback, while using 85
> >> Hz for the GUI. I've also used GetVideoModes() to avoid showing that
> >> configuration screen if you do not have a system supported by
> >> DisplayRes (i.e. non-MacOSX or non-XRandR capabable systems). I also
> >> made setting the aspect ratio
> >> of the display simpler, by letting the user choose "4:3", "16:9", or
> >> native, rather than "Alt/Non-Alt"
> >>
> >> I made the needed changes to DisplayResOSX, and flushed out that
> >> implementation by implementing GetDisplaySize(). But I don't have
> >> a MacOSX system to compile on so this may not even compile. There
> >> are also a couple calls that I wasn't clear on from reading the
> >> spec, these are marked with my question and "-- dtk"
> >>
> >> As far as XVideo and XvMC, the code in tv_play and videoout_xv[mc]
> >> was assuming that if you were using XRandR you wanted the playback to
> >> be fullscreen. I've removed that assumption, so "GuiSizeForTV" is
> >> still respected. Also when switching back from fullscreen the gui was
> >> not returned to the location it was at before going full screen. I've
> >> added
> >> a QRect called saved_gui_bounds to tv_play which allows us to return
> >> to the original location after running fullscreen for playback.
> >>
> >> While I was at it I added initializers for all the instance variables
> >> in tv_play to the constructor. (I encountered a crash due to an
> >> uninitialized pointer in the TV class, so...)
> >>
> >> PS I left in some backward compatible methods in DisplayRes, and did
> >> not   fully switch videout_xv, and videout_xvmc to the new methods.
> >> This is   because I have a patch for these in the works and want to
> >> minimize   rejects.
> >>
> >
> > Hi Daniel,
> >
> > Finally had some time to compile this up.  Found one problem in
> > globalsettings.cpp: line 2964 is not protected by USING_XRANDR, but
> > VideoModeSettings is.
> >
> > My system is recording right now, so it will be a bit before I install
> > it.  I will try and let you know how it works out later on tonight.
> >
> > John
> First time I ran mythfrontend with this patch in place, it picked a GUI
> resolution that my TV *barely* supported.   The picture was "rolling"
> pretty good.  I was finally able to fumble around enough to get
> "Separate video modes..." turned off.  I was then able restart
> mythfrontend and get to that setup screen and actually, almost, see what
> I was doing.  I typically run my GUI at 888x500 and that setup screen no
> longer fits on the display at that resolution.
> After getting everything configured the way I wanted, I "finished" with
> the Appearances section, and the display was re-sized.  Something was
> off, however, because I ended up with a small window in the upper left
> hand corner of the screen, instead of a full screen.
> I then tried to go in and watch a recording, but my list of recordings
> was corrupt!  That was scary enough that I did a full abort and
> re-install the previous CVS version I had been running from 16Mar05.
> After going back to 16Mar05, my list of recordings are fine.  I have not
> tried re-installing the 20Mar05 CVS without your patch to see if that
> causes the program listings to become corrupt again, but I assume it would.

I bet I know what caused the list to become corrupt.  I probably applied the
"Sort episodes by Original Air date" patch to one of my machines, but forgot
to apply it to the other.

> I just realized that in my fumbling around in the first step, that I
> managed to get "run in window" selected.  That is probably why I ended
> up with the small screen in the upper left hand corner.
> For someone already using "Separate video modes...", the fact that it
> picks a different default video mode for the GUI can be a problem.  I
> *think* it picked 320x200 which is a mode that X must have
> auto-generated, since it is not listed in my xorg.conf file.  I am not
> sure what to do about that.

I don't know if this would work for everyone, but rejecting resolutions
below 640x480 would fix this problem for me.


More information about the mythtv-dev mailing list