[xiph-rtp] header caching and chaining

Ralph Giles giles at xiph.org
Sun Feb 6 17:30:56 PST 2005


On Mon, Feb 07, 2005 at 01:18:35AM +0000, Phil Kerr wrote:

> I think Derf was talking about Theora, not Vorbis, but from what I 
> gathered he listed the maximum permutations for all the config fields.  
> In practice there will be a large number of permutations that will never 
> be seen.

He was. I didn't necessarily agree with his feelings about the relative 
danger of collision, so I generalized the argument. :)

> When the idea came up for using a CRC32 field there seemed to be no real 
> objections to it, perhaps we should find out what the frequency of hash 
> collisions are in real-life?

The problem is it's hard to judge because this depends on the behavior 
of future encoders. I'm more worried about custom codebooks generated by 
more advanced multipass theora encoders. I guess I do agree the issue is 
probably more important for theora than for vorbis.

OTOH, caching seemed like a major win on the whole chaining thing.

> >So, the only way around this is to not cache the headers. We could just 
> >say that, but doing so breaks the broadcast use case where play-time 
> >retrieval isn't an option.
>
> This is a solution, but does it harm functionality too much?

I think so. We have people interested in satellite broadcast of 
vorbis+theora right now. That use case is important.

> >The other thing we can do is just make it an arbitrary number and say 
> >that the sender and receiver MUST negotiate a mapping between the ident 
> >and the decoder setup out of band, and just leave it out of the scope of 
> >the RTP mapping (beyond the in-band transmission option anyway.) This 
> >should work fine for the SDP uri and so on.
> >
> If there is no caching then this will work as there only needs to be a 
> unique ident for each file for the session life.  How do you ensure that 
> the arbitrary numbers are unique?  Would ov_serialnumber be unique enough?

Well, it would be up to the server to make sure it didn't reuse an ident 
for two different decoder configs within a given RTP session. Otherwise, 
it's arbitrary. That enforces no caching based on the ident, and isn't 
much of a burden for the server.

IMHO,
 -r


More information about the xiph-rtp mailing list