[vorbis] xml stream formats

Michael Smith msmith at labyrinth.net.au
Tue Jul 11 21:02:11 PDT 2000



At 11:26 AM 7/11/00 -0700, you wrote:
>On Tue, 11 Jul 2000, Thomas Marshall Eubanks wrote:
>
>> One problem with sending interleaved text for a browser, etc., is that
it does not
>> respond well to packet loss. (Think of dear old html - if you hack out
some of a
>> page, it will NOT display well.) This is different from audio, where
drop-outs
>> can be corrected or protected or, if all else fails, lead to a drop out
of the audio,
>> without everything else falling apart.
>
>This is a very good point, and a big weekness of my continuous-xml
>proposal over the text-chunk one. Unfortunately, while xml does error
>detection fairly well, no one seems to have thought about error recovery.

I've thought about it, I just forgot to talk to others about it. Basically,
you can't do error recovery with XML - it's mandated by the spec. If you
get an error (syntactical), the parser MUST stop parsing. It is not
permitted to do anything else under any circumstances. Any parser which
doesn't obey this rule is not an XML parser.

If we had each chunk being a seperate XML 'document', this stops being a
serious problem - if we have an error in one chunk, we ignore the whole
chunk. This might mean we lose a line or two of dialogue, or lyrics, or
whatever - but that's to be expected if we have an unreliable transport
stream, and nothing we do will avoid this, binary format or XML.

>
>Again, we can get around this by making the encoder know lots about the
>DTD, and making the DTD "chunkable" in some sense. Another idea is to
>embed "context" information in comments every so often which the
>client parser could use to recover missing start tags. Something like:
>
<snip example>
>A parser could adjust it's tree based on the <?context ?> tags, realizing
>it missed scenes 25-26, for example. If encounters an actual error
>(unbalanced tags) it could just seek the next context statement and
>restart.
>
>I agree this is pretty complicated. :(

Unfortunately it's also not permitted. This would be a nice enough
solution, but we can't do that.

Michael

--- >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