[vorbis-dev] clarifications on comments spec
Beni Cherniavsky
cben at techunix.technion.ac.il
Mon Jun 30 04:41:55 PDT 2003
Ralph Giles wrote on 2003-06-30:
> > If it was required, as is true with the Vorbis identification
> > header, that future implementations put the comment in an Ogg
> > stream page by itself this could solve the above issues. It would
> > then be possible to deduce the total size of the comment from the
> > Ogg page header. Though I haven't tried it yet, I also presume
> > that empty space at the end of an Ogg page would simply be
> > ignored, thus providing a mechanism for padding.
>
> s/page/packet/ here. It usually takes a while to grok the two levels.
>
> The spec doesn't say either way about extra data in the header
> packet, but presumedly a good decoder would handle that.
Oops, so I was wrong when claiming that decoders that don't ignore the
tail of a comment packt are broken. Too bad. Re-reading the spec__,
what's the point of the "framing bit"?
http://www.xiph.org/ogg/vorbis/doc/v-comment.html
> The reason we won't put it on a page by itself is that limits the
> length to 64k. Is that enough for everyone? That will also be a
> significant fraction of a low-bitrate file if you always use the
> full length for padding.
>
Padding can be adaptive. Allow it in the spec and let different
encoders/comment editors try different strategies (as with the
codebooks concept but on smaller scale ;).
> We have considered ideas of this sort in the past, particularly when
> we wrote our own example tag editor. So you're not the first to have
> to deal with this stuff. Generally our conclusion has been that it's
> not worth adjusting the spec for the convenience of only that
> application.
>
The adjustment is very small: allow garbage at the end of the comment
packet. It's certainly worth the trouble if the spec was designed
now, the only problem is that the Vorbis I spec is frozen. Why I
certainly respect your decision to not touch it, I can't understand
why can't Xiph publish some "best-practices" guidelines for
implementors enocuraging implementations that will also work with
probable changes in future specs. This is thesecond such issue that I
remember:
1. Vorbis I decoders are strongly encouraged to silently ignore all
other multiplexed streams, even though legal Vorbis I streams can't
be multiplexed. This is trivial to implement (drop pages with
other stream numbers) and will be needed in the future anyway.
2. Vorbis I decoders should ignore all content of the comments packet
after the last comment (according to the number of comments
appearing in the packet, after the vendor string).
Anything else? I think it really makes sense to publish any such
guidelines along with the spec (marking them as non-normative, at
least for this version of the spec).
--
Beni Cherniavsky <cben at tx.technion.ac.il>
"Reading the documentation I felt like a kid in a toy shop."
-- Phil Thompson on Python's standard library
--- >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