Hi, Company and I had a discussion about local swf file parsing yestoday.And I still have some related questions. So I continue the topic here. (Sorry to Comanpy, my laptop was out of battery power yestoday, and I didn't notice the power warning, so just quited IRC accidently).
Here is my test(the test is already verified here): test file: bigswf.swf, size: 5.1MB, total frames: 233 as in frame1(the first frame at root): trace(_root._framesloaded); // output: 52, swfdec behaves correctly here trace(_root._currentframe); // output:1, swfdec is also correct here _root.gotoAndPlay(1000); // try jump to an unparsed frame. trace(_root._currentframe); // expected output: 53, swfdec's output: 1 The parsing policy of local swfs inside swfdec should be correct. gotoFrame implementation is a bit different agains the proprietory player, though.(I don't mean swfdec need to be full compatible here, just describe the tested result. We all know pp do weird things sometimes). Question about parsing the network data: How does swfdec fetch and parse the network data? Gnash has a separate thread for parsing both local swf and network data, so the parsing process would never block the movie advancing process, and the GUI is always responsive even the network speed is slow. The advantage is that the threading mode is easier for thinking. But there are also disadvantage, like much mutex protection overhead and dead-lock risks. swfdec uses a single thread model. So I am wondering how does it avoid the blocking problem when network speed is slow? eg. the network might be down right after you buffered half a swf tag. I am hacking on swfdec recently, so I ask those questions that help me understand the code better. Thanks ahead. --zou _______________________________________________ Swfdec mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/swfdec
