[mythtv] XVideo XvMC VLD broken

Terry Barnaby terry1 at beam.ltd.uk
Mon Apr 25 20:41:20 UTC 2005


Here is a little more feedback on this problem.
It appears that the Xv/XvMC/avcodec system has not recondigured itself
properly after a channel change.

I have put debug messages in the libviaXvMC library to see what is called.
You should see a sequence like:

XvMCLoadQMatrix:
XvMCBeginSurface:
XvMCPutSlice2:
XvMCPutSlice2:
....
XvMCPutSlice2:
XvMCFlushSurface:
XvMCSyncSurface:

My enclosed attachments show some part of the sequence before changing
the channel (working1) and the first bit after (bug1).
The Via XvMC system gets a XvMCLoadQMatrix(),XvMCBeginSurface()
sequence then a lot of XvMCFlushSurface(), XvMCSyncSurface() (Getting
rid of buffers ????) then a XvMCPutSlice2() that fails as it no
longer owns the decoder (No XvMCBeginSurface() after the last 
XvMCSyncSurface().

Terry
-------------- next part --------------
Using XvMC version: 1.0
XvMC found and using VLD surface
2005-04-25 21:18:06.023 Using XV port 64
XvMCCreateContext:
XvMCCreateContext: End: Ok
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSubpicture:
XvMCClearSubpicture:
XvMCSetSubpicturePalette:
2005-04-25 21:18:06.950 Using realtime priority.
XvMCLoadQMatrix:
XvMCBeginSurface:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
2005-04-25 21:18:06.972 Changing from None to WatchingLiveTV
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCLoadQMatrix:
XvMCBeginSurface:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCPutSlice2:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCPutSurface:
updateXVOverlay:
XvMCGetSurfaceStatus:
XvMCPutSurface:
updateXVOverlay:
XvMCSyncSubpicture:
XvMCBlendSubpicture:
XvMCFlushSurface:
XvMCGetSurfaceStatus:
XvMCLoadQMatrix:
XvMCBeginSurface:
XvMCPutSlice2:
-------------- next part --------------


av_remove_stream 0xb0c
adding pes stream at pid 0x26c with type 2
adding pes stream at pid 0x26d with type 3
closing filter for pid 0xb0b
av_remove_stream 0xb0b
closing filter for pid 0xb0c
streams_changed()
2005-04-25 21:18:14.025 streams_changed() -- stream count 2
2005-04-25 21:18:14.477 AvFormatDecoder: Video has changed from 0x0 to 720x576.
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCHideSurface:
XvMCDestroySurface:
XvMCDestroySubpicture:
XvMCDestroyContext:
XvMCCreateContext:
XvMCCreateContext: End: Ok
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSurface:
XvMCCreateSubpicture:
XvMCClearSubpicture:
XvMCSetSubpicturePalette:
XvMCLoadQMatrix:
XvMCBeginSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:

...... Lots of these

XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:
XvMCSyncSurface:
XvMCPutSlice2:
XvMCPutSlice: This context does not own decoder!
XvMCFlushSurface:
XvMCSyncSurface:
XvMCFlushSurface:


More information about the mythtv-dev mailing list