[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