[vorbis] xml stream formats
Ralph Giles
giles at snow.ashlu.bc.ca
Fri Jul 7 14:24:15 PDT 2000
On Thu, 6 Jul 2000, I wrote:
> > Consider a live streaming context, when you have people connecting "in the
> > middle" of a song.
Ok, Here are two things I think will work:
We allow arbitrary xml documents to be included in ogg. For specific
purposes, we settle on a DTD (which still needs doing) It might be
metadata, it might be subtitles, whatever. The player identifies an xml
stream by looking for '<?xml' and decides whether/how to treat it by
looking at the '!DOCTYPE' header.
We let ogg take care of the framing and reassembling. The only requirement
would be that the parser must be progressive for time-synchronized
display.
That works fine for static files. In a streaming context there are two
ways to deal with the "connect in the middle" problem.
(a) The server can know enough about the dtd to splice in a fake "header"
on connect, and a "footer" on disconnect in such a way that the result is
still valid xml. It's just missing the part of the file no longer relevent
at the time of connect.
(b) The server can just include the whole file from the beginning, upping
the interleave ratio to "catch up" with the a/v streams, which start in
the middle. Given the relative size of the xml data, this will be no
inconvenience (~<8K of song lyrics out of ~5MB of vorbis audio) and what I
would recommend in practice. In this scheme inherently continuous data
(like current weather or stock prices) would have to be broken into
separate 'files' or streams on a periodic basis.
Either way, all ogg requires is that the logical bitstream be valid xml.
-r
--
giles at ashlu.bc.ca
Outside of a dog, a book is man's best friend.
Inside a dog, it's too dark to read
--- >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-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
mailing list