[mythtv] PPC and OsX quartz renderer

Christoph Rudorff chris at rudorff.com
Sun Jul 4 21:49:30 UTC 2010


Hello ppl!

I'm just dropping in with my patches and hand weave to make the shy
developers come out of the forest!

Nigel asked me to drop a line to discuss my changes:

http://svn.mythtv.org/trac/ticket/6211

ok, here we go.

The PPC endian fix is now in trunk and 0.23-fixes. Very good  :)

Now, how to make the debian.netcologne.de ppl to recompile the packages
for my linux-ppc-powerbook?

Now the Quartz stuff.

I used the compiled binaries from sniderpad for my mac-mini-ppc-osx. There
are 2 options for video out: opengl and quartz.

I used opengl a long time until 0.22 (if I remember correctly), now there
is a shift of -1,-1 of the video picture which leaves permanent lines on
right and bottom corner. Very nasty. Also the output window does not
properly ineract with osx window manager: on "apple+tab" the input focus
changes to the next application but the opengl output stays on top.

The Quartz renderer works better: you also get the application on screen
top when moving the mouse there. Also it seems to use less CPU ... unless
you use the manual zoom.
However, it still has got scaling bugs, see bug description.

ok, fixing the switch to embed video was easy, but fixing aspect changes,
automatic or manual via W-key, is tricky. I haven't found a hook or a
signal I can catch to set up the scaling. Also the current quarts renderer
implementation doubles some code to calculate the desired dimensions. I
guess this is because the Quartz renderer offers the functionality to use
a resizeable window or even render inside a dockbar icon. I never tried
that feature and I don't know if that worked at any time ... since mythtv
is a "fullscreen application", isn't it?

So my patch makes use of the calculations from VideoOutWindow (and breaks
the scaleable window for sure). The 2nd patch "hooks"
ToggleAspectOverride() that makes W-key and any video aspect changes
going. I am not sure if that is thread safe.

Also I am wondering why an aspect change doesn't pass
VideoOutputQuartz::VideoAspectRatioChanged() !!!!

Finally an interesting bug:

Press apple+q or click quit in the osx application menu closes the window
but myth keeps running. So my question: How to ask mythfrontend to quit?
So I can implement proper callbacks.

Thats it so far.

My patches are not the final solution but they makes me happy customer :P

greetz

chr()



More information about the mythtv-dev mailing list