gnash-dev
[Top][All Lists]
Advanced

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

Re: [Gnash-dev] About AMF (still technical)


From: strk
Subject: Re: [Gnash-dev] About AMF (still technical)
Date: Thu, 4 Sep 2008 21:05:49 +0200

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;




reply via email to

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