Re: Re: Xine Libstk Video Output Plugin

Darren Vincent Hart <[email protected]> 22 Jul 2003 10:04:45 -0600
Newsgroups gmane.comp.embedded.stk.gui.devel
Message-ID <1058889885.10248.6.camel@sway>
On Tue, 2003-07-22 at 06:04, Marc Strämke wrote:
> Hmmm how are you doing the Overlays atm, AFAIK may XLIB only be accessed 
> by one frame at the time.
> 

What do you mean "one frame at a time" ?  I am looking into doing
something similar to XLockDisplay(..).  I will be following the example
in the Xv xine driver, but haven't gotten around to it yet.

So at the moment we pass a stk::xine_panel to construct a xine video
output port.  Xine uses that to get position and size and access to the
stk::surface from which it creates an stk::overlay.  The overlay it gets
atm is basically a wrapper to SDL_Overlay.  It seems to then allocate
several (10 or so) overlays, probably for buffering or something.  It
then calls stk::overlay::lock(), writes to the overlays in the
appropriate format (YV12 or YUY2), calls stk::overlay::unlock() and
calls stk::overlay::display on them (all through the C wrapper) which
actually blits them to the surface they were created from.

I think the locking is either no working as expected, or we need to also
lock the surface itself in xine and in libstk during certain operations
(like surface::draw_line or maybe even widget::draw).

I am still thinking on this though...

Darren

> Darren Vincent Hart wrote:
> 
> > *GGGG* YV12 and YUY2 overlay support!  I've tried both formats, haven't
> > even implemented the RGB option.  I'm concerned about the Xlib async
> > problem, especially in light of the SDL docs that say "Do not perform
> > video and event tasks in separate threads".  I hope we can find a way
> > around that...
> > 
> > On Mon, 2003-07-21 at 06:06, Marc Strämke wrote:
> > 
> >>Looks frelling great :) Are you using overlay support for this or is 
> >>this RGB output?
> >>Darren Vincent Hart wrote:
> >>
> >>
> >>>Team,
> >>>
> >>>The code is a bit ugly, and I haven't finished the interface yet, and if
> >>>I cause some kinda redraw while its playing we get:
> >>>
> >>>Xlib: unexpected async reply (sequence 0x18)!
> >>>
> >>>like with gtk if you don't do the gtk_threads thing (however that goes),
> >>>BUT IT FREAKIN' WORKS! And it is fast enough to play a 320x240 mpg clip
> >>>at 640x480 without dropped frames!
> >>>
> >>>I'll clean up the interface ASAP and get it into CVS (sometime this
> >>>week).  I also need to talk to the Xine folks about getting it added to
> >>>the xine build.
> >>>
> >>>Darren
> >>>
> >>>
> >>>------------------------------------------------------------------------
> >>>
> >>
> >>
> >>
> >>_______________________________________________
> >>Libstk mailing list
> >>Libstk@qLD"
> >>http://www.dvhart.com/cgi-bin/mailman/listinfo/libstk
> > 
> > 
> 
> 
> 
> _______________________________________________
> Libstk mailing list
> [email protected]
> http://www.dvhart.com/cgi-bin/mailman/listinfo/libstk