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

Reply via email to