[mythtv] MacOS X MMX yuv420_2vuy Patch

Daniel Kristjansson danielk at cuymedia.net
Wed Aug 30 02:40:06 UTC 2006


On Wed, 2006-08-30 at 12:26 +1000, Nigel Pearson wrote:
> > Hmm, is it possible that the Mac video output class
> > is not accounting for resolution changes completely?
> 
> Good thought. Possible, but I have not tested that.
> (need an appropriate stream).
You can just cat a stream of one resolution to the end
of another stream if they are both MPEG-2 TS streams.

> >  This could
> > cause a crash when switching between channels with different
> > resolutions when using a digital recorder.
> I thought changing channels re-initialised
> enough stuff that it wouldn't cause the problem.
> One channel changing its own resolution though, might.
InputChanged() gets called, if there is insufficient
locking in the video output class or InputChanged doesn't
completely handle the resolution change, the class could
continue to use the old data in the video display loop.
In VideoOutputXv we use a global lock which pretty much
stops the video display loop while we handle the input
change. It looks like there is no similar locking in
the Quartz display code. For all I know it may not be
needed, but it is probably worth looking at. The plan is
to eventually move away from this coarse locking and move
to frame-by-frame handling of the resolution changes,
at least in VideoOutputXv.

> 	There is also another bug that I encountered once
> which seemed to indicate the pause buffer was corrupt.
> Thought it was related to our buffer allocation changes.
> Will have to add some if (blah).
Yep, it just needs to use that same init() function from frame.h,
should save a few lines of code too.

-- Daniel



More information about the mythtv-dev mailing list