On Wed, 2005-04-20 at 13:38 -0400, Daniel Kristjansson wrote: This is an update on the Xv/XvMC patch. The patch is here: http://www.mrl.nyu.edu/~danielk/mythtv/xv-xvmc-merge-v15.patch.bz2
> On Tue, 2005-04-19 at 22:46 -0400, Daniel Kristjansson wrote: > I believe I have fixed the OSD problem in HDTV. By that I mean there > are no lockups and frames don't seem to get lost. Basically, I've > made DiscardFrames more aggressive by Syncing all displayed frames, > while making at the same time it less aggressive by using the > VideoOutputXv::DiscardFrame() to discard frames, which ensures > that any frames for which an OSD blend frame is showing does not > get discarded. It looks like I may have been too aggressive in DiscardFrame(), I've made it a little more less so in this patch. I've also added some complexity to UpdatePauseFrame(). Now, if a new frame has been decoded since pause began we use it. This lets us see a frame if we skip after pressing pause. Also it now reuses pause frame whenever possible, and discards old pause frames in UpdatePauseFrame(). Normally pause frames are discarded in the first non-pause frame Show(), but if the user skipped after pausing or skipped 7 times in a row without letting the video play once past the pause frame, then the XvMC buffers completely filled with pause frames. I've also added more locks around X11 calls, and I've reworked SyncFrame to use XvMCFlushSurface(), followed by a series of XvMCGetSurfaceStatus() calls. This isn't as clean as just using XvMCSyncSurface(), but allows us to us an X11 lock around the calls without killing performance. Finally, I've made the debugging output in VideoBuffers's AddInheritence() method more useful. This is because some people are seeing warnings coming from this method before a system dead-lock. Hopefully, the locking around more X11 calls will help with the system dead-lock problem. -- Daniel
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
