On Thu, Sep 24, 2009 at 12:54:15PM +0200, Benjamin Wolsey wrote:
> 
> > Playback blockage may be due to several reasons, originating from one
> > of these two:
> > 
> >     1) buffer is below the user-specified trashold 
> >     2) gnash main thread itself is blocked
> > 
> 
> The blockage we are talking about in the bug is of the first type. It's
> caused because various places in the FLV parser make small reads or
> seeks of 1 to 12 bytes for various reasons, and this calls a read that
> blocks media parsing (or something) until the next segment of data is
> received. It's a design flaw in the parser, which really should get a
> buffer to read and not attempt to seek outside it.

Blocking on those reads shouldn't be a problem unless that thread
is also holding a lock needed by the main thread.
IIRC the lock on the Buffer itself isn't obtained until a full frame
is completely parsed.
Chances are there's a lock on the input stream itself, but can't
remember who else needs it; probably the NetStream.seek() function.

--strk;

 Free GIS & Flash consultant/developer      ()  ASCII Ribbon Campaign
 http://foo.keybit.net/~strk/services.html  /\  Keep it simple! 


_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev

Reply via email to