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
_______________________________________________ mythtv-dev mailing list mythtv-dev@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev