gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Status report on NetStream redesign (with patch and RFC)


From: strk
Subject: [Gnash-dev] Status report on NetStream redesign (with patch and RFC)
Date: Fri, 23 May 2008 15:47:47 +0200

I've been playing with actual code today and have to say my
frustration is reducing. What I did is work toward complete
refactoring of the NetStream model, following design already
posted here.

To make rewrite simpler, I got rid of some features which
we'll want to have but for now are implemented in such
a non-general way that only disturb refactoring.

In particular here's what is gone:

        1) Drop any use of threads
        2) Drop support for non-FLV formats
        3) Drop audio support 

Don't be scared, they will likely all get back, just in a safer form.
Audio support is really a consequence of threads, in that SDL mixer
runs in its own thread, so needs proper thread-safety before reintroducing.

As for non-FLV the issue there is that we need the kind of interface
FLVParser expose, which we don't have for non-flv. I belive MediaParser 
from libmedia should be it, just not ready yet.

So, now what I added:

        1) A PlayHead class which takes care of automatically
           advances when all consumers consumed current position
           and proper switch between PAUSE and PLAY mode (so that
           time cursor is always correct).
        2) As-needed video decoding 

And what I fixed:

        1) NetStream.{getBytesLoaded/getBytesTotal} - the darker red fill on 
old youtube player
        2) NetStream.seek - 100% compatibility as far as I can see

Now I need your help about what to do with the current work.
For myself I'd commit it as I don't like having uncommitted code around
(scared to loose it somehow), but how would you take a commit making
the FFMPEG (remember: non-default choice) NetStream handling:

        - audio-less
        - FLV-only supporting
        - keeping GUI unresponsive on net burst or on seek-forward

Please let me know, before everything blows up :)
Patch attached.

--strk;




-- 

 ()   ASCII Ribbon Campaign
 /\   Keep it simple! 

Attachment: PlayHead.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]