On Fri, 26 Oct 2001, Greg Wright wrote:

> "Sottek, Matthew J" wrote:
> > 
> > XV_FRAME_TYPE = XV_HOLD
> > XvShmPutImage()
> > ...
> > XvShmPutImage()
> > ...
> > XvShmPutImage()
> > XV_FRAME_TYPE = XV_FRAME
> > 
> > The target of the XvShmPutImage will only change when XV_HOLD is
> > set. (Or if XvShmPutImage is called without XV_HOLD) So however
> > many XvShmPutImage()'s get called while in XV_HOLD get put in the
> > same place overwriting each other. Once I get an implementation done
> > I'll write up some clear documentation.
> > 
> >  -Matt
> 
> 
> You and Mark were right, I was still thinking they were bit fields.
> 
> But, I still have a question on the above example. In a follow up 
> post Mark points out that the XV_FRAME_TYPE (or whatever it ends
> up being called) is a write only atom that takes effect on the 
> next put. Is that the case? If so, The above won't work right?
> Just setting XV_FRAME_TYPE to XV_FRAME will not display the last
> held frame, instead, it won't do anything until the next put which
> will have new data.
> 

   I wasn't expecting clients to call XV_HOLD then Put and not
display it afterwards.  There seem to be two feasible implemenations:

1)  XV_HOLD stays into effect until it is displayed.  If a second
    Put comes along before the display the new Put overrides the
    first.

2)  XV_HOLD gets canceled after a second put.  I expect 1) is easier
    to implement.


                        Mark.

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to