[mythtv] XVideo XvMC VLD broken

Daniel Kristjansson danielk at cat.nyu.edu
Fri May 6 12:53:51 UTC 2005


On Fri, 2005-05-06 at 07:30 +0100, Terry Barnaby wrote:
> > Your OSD fix in CVS has certainly fixed the problem with changing
> > channels due to the OSD locks. Thanks. Things are much better now.
> > However I have still had a channel change fail after quite a few
> > changes. Here is an example where two channel changes worked Ok
> > and the third failed. On the third case I get a frozen piucture
> > and heavily stuttery sound.
> > I will continue to investigate.
> > In this case the error messages where: 
> 
> Hi Daniel,
> 
> I have just tried setting the number of Video buffers from 8 to 16
> on the line: videoout_xv.cpp:531 vbuffers.Init(...).
> This seems to work around the problem of channel changing on my
> Via M10K XvMC VLD box.

can you try adding 
  cerr<<xvmc_surfs.size()<<endl;
at line 1099, after the "xvmc_surfs=..." line.

And report back with the actual number of surfaces created.

> Although this is covering up the problem, in the longer run
> do you think it is work increasing the number of video buffers
> for XvMC VLD machines where the number of XvMC surfaces available
> allow this ?
If this is actually increasing the number of XvMC surfaces it may
be actually solving the problem for XvMC-VLD. There are a number of
machinations I go through to free XvMC buffers as soon as possible,
just because we have so few. With just a few more buffers there is
enough head room for the normal DiscardFrame(),ReleaseFrame()
mechanism to work.

Of course your problem may still exits on more limited hardware,
like the nvidia graphics cards...

-- Daniel



More information about the mythtv-dev mailing list