On Wed, Nov 21, 2001 at 11:50:57AM -0800, Mark Vojkovich wrote: > This is an application bug. Apps are supposed to Grab the > port when they want to use it so noone else can. When an app > tries to grab the port and finds that it is already grabbed > it will know that it is in use and it should fall back to some > other method to display the video. When the apps do not grab > the port they are using, continual preempting of each other's > video is the expected behavior. Hmm, does it really have to be like this? From my understanding of how XvShmPutImage is implemented on most cards, there should be a way to implement this reasonably:
- make sure when allocating offscreen memory for data that it doesn't overlap - make sure when *CopyData422/420 are using DMA that only 1 DMA transfer happens at a time (dunno, is this really necessary?) - make sure calling *DisplayVideo422/420 only happens once at a time (from my experience this takes an insignificant amount of time => chance that these 2 will overlap is low => can be ignored So, in theory, making sure the allocated memory segments don't overlap should be enough. As the CopyData422/420 takes almost all the time of the PutImage function, there shouldn't be any strage slowdown besides lineary proportional to the amount of data transferred (i.e. image size*depth). Or am I missing something here (as usually <g>)? > Mark. Bye, Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023 -- Give a man a fish and you feed him for a day; teach him to use the Net and he won't bother you for weeks.
msg01661/pgp00000.pgp
Description: PGP signature