[mythtv] XVideo XvMC VLD broken

Terry Barnaby terry1 at beam.ltd.uk
Thu May 5 09:21:55 UTC 2005


Hi Daniel,

XvMC VLD in a Via M10K box is now working better, but still not right.
The main problem now is that sometimes channel changes work and
sometimes they don't.
I have tracked this down to an issue with the OSD.
When the channel change fails the code is stuck in
VideoOutputXv::GetAvailableOSD() in the loop:
     while (!xvmc_osd_available.size())
     {
         xvmc_osd_lock.unlock();
         usleep(50);
         xvmc_osd_lock.lock();
     }
The error messages from mythfront end are:
	"Timed out waiting for free video buffers."

I suspect there is a race hazard between the OSD for the channel
change and the re-initialisation of the XvMC system in:
VideoOutputXv::InputChanged().

I suspect that VideoOutputXv::InputChanged() should close down
the OSD before doing anything and then re-initialise after deleting
and re-instating the Video buffers.
Actually, is it actually necessary to delete and re-create the
Video buffers (could be done only if frame size has changed) ??
I actualy removed the deletion and re-creation of the video buffers
and the channel channes appeared to work Ok then.

I can look into this a bit more but you might be able to see the
cause and solution from the information above.

Terry


More information about the mythtv-dev mailing list