On Thu, Sep 04, 2008 at 07:42:08AM -0600, Rob Savoye wrote: > strk wrote:
> >Now, the question is: why would we want another pointer-based > >(heap-allocated) intermediate class between as_value and AMF itself ? > >This intermediate class is amf::Element. > > If you change this, you'll have to change about 15,000 lines of RTMP > code to work differently. The idea is that Elements are best suited for > holding low level AMF data, and usually get deleted when converted to a > higher level form, like as_value. As_values are designed for how a swf > interpreter needs them to work internally, while Element is designed to > handle the decoding & encoding of AMF data, and how it needs to be > handled by the various other file formats, or RTMP. I'm not planning to change any RTMP related code, still too ignorant about it anyway. > >One of the reasons for Element to exist (if I got it correctly) > >is that it supports more types then as_value. > > It's because it supports *different* types, not an enlarged set. Can you give here a complete list of Element types that do NOT match with as_value ones ? > >In particular Video/Audio types. > >Do we need to consider them part of the AMF format at all ? > >Can it be instead that Video/Audio are RTMP packet types instead > >and AMF is another packet type ? > > Audio and Video are only RTMP and FLV packet types, not AMF ones. Great, other differences ? > >The analogy with FLV looks interesting. FLV is a stream of tags > >(or packets if you want). Each packet has a timestamp. Content > >of the packet may be: Video, Audio, Meta; Meta is AMF-encoded. > > Just looking at FLV files is too limited a use of AMF to make any big > changes to how AMF works. Please don't reinvent the wheel here. I also looked at remoting, and Jason looked at SharedObjects. > Also SharedObject .sol files and LocalConnection memory segments also > use AMF. SOL, LC, FLV, and RTMP all have different headers. I belive LocalConnection and RTMP are the only cases not considered by the "element_is_not_needed_here" party. --strk; _______________________________________________ Gnash-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnash-dev

