[mythtv] [PATCH] Fix (now broken) screen settings
Daniel Thor Kristjansson
danielk at mrl.nyu.edu
Thu Mar 10 20:15:18 UTC 2005
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...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: display-res-v1.tbz
Type: application/octet-stream
Size: 15540 bytes
Desc:
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20050310/87f66724/display-res-v1-0001.obj
More information about the mythtv-dev
mailing list