[vorbis-dev] streaming metadata requirements

rillian rillian at telus.net
Thu Jun 14 11:39:22 PDT 2001



On Monday, June 11, 2001, at 08:56 , Monty wrote:

>>
>> Why put it in a separate substream?  We could just change the spec to
>> allow new headers halfway into the "normal" stream (the spec doesn't
>> specifically disallow it at the moment, even).
>
> I intend that it is disallowed.  The comment header is not for
> streamed metadata, and doing this behind the chaining mechanism's back
> breaks or compromises design assumptions in the Ogg layer.

I guess that answer could apply to jack's only-update-metadata scheme in 
general.

Vakor (Michael Smith) and I had a good discussion about this on irc.  
Here's a summary of my updated thinking:

We have to fix multiplexing if we care about this.

In more detail:

Michael seemed to agree with Jack that the cost of chaining boundaries 
is a real problem and added the fear that if we don't resolve it people 
will go back to things like the shoutcast separate udp broadcast, or 
those terrifying icy-headers stream-interleaved tags.

Now, monty has clearly vetoed adding updatable metadata to vorbis 
itself. That leaves us two places to put it. Outside the ogg stream 
entirely, or in a parallel, multiplexed logical bitstream.

The first is exactly like the udp tag stream, and I'm not sure that's an 
entirely terrible solution, since the problem really lies outside the 
design space of ogg/vorbis. Vakor hated it, though.

The second is at least part of the general plan. Problem is, Monty also 
marked the issue of multiplexed streams "won't fix" for rc1, and likely 
1.0. I'd been holding off on the kithchen-sink, separate-stream metadata 
format until I felt we could do it right the first time, but as far as 
people think this is important I'm perfectly happy with vcomment packets 
in a separate bitstream. It nicely contains the special-casedness of the 
format, and players are free to ignore it. So this seems the best way 
forward to me.

Which brings me full circle. Vorbisfile currently *chokes* on 
non-degenerate ogg bitstreams. If we want more metadata options we have 
to fix this before 1.0. Not only does it mean we can't solve jack's 
problem, it means it will be *extremely painful* to do it later, because 
the previous generation of codecs wouldnt' be able to play the new 
streams. Also means no slide shows, no beat markup, none of the other 
metadata uses we've talked about here in the past. And someone besides 
monty has to do the implementation work.

I did say two weeks ago I'd work up a patch for this, but got 
discouraged when I saw how much work it would be. I'm still interested 
in working on it, but I need help. Step one, make vorbisfile ignore all 
the first substream with valid vorbis data. Step two, implement whatever 
quick metadata format seems reasonable as a special exception to that. 
General multiplexing support can come later.

IMO,
  -ralph

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list