gnash-dev
[Top][All Lists]
Advanced

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

[Gnash-dev] FLVParser bugs


From: strk
Subject: [Gnash-dev] FLVParser bugs
Date: Mon, 4 Jun 2007 12:24:14 +0200

I've found out that the FLVParser::nextVideoFrame and FLVParser::nextAudioFrame 
don't do whaat their description states, which is causing lots of troubles.

Their description says that they return NULL if NO MORE FRAMES are in the 
timeline.
Example (for nextVideoFrame):

        /// Returns the next video frame in the timeline. If no frame has been
        /// played before the first frame is returned. If there is no more 
frames
        /// in the timeline NULL is returned.

Now, the implementation doesn't do that. In particular, it makes use of the 
FLVParser::parseNextFrame() which isn't a blocking call at all, and breaks
it's "blocking" loop if that returns false.

parseNextFrame will return false if we did NOT load enough data, so the
result is that next{Audio,Video}Frame will also return NULL in this case,
reguardless of having reached EOF.

These bogus description or implementation affects higher levels in the
stack, making hard to understand what's going wrong (as we know things are
going wrong :).

So, what should be fixed ? Dox or implementation ?

--strk;

 ()   ASCII Ribbon Campaign
 /\   Keep it simple! 





reply via email to

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