[Top][All Lists]
[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;