[vorbis-dev] granulepos start/end revisited

Daniel Holth dholth at fastmail.fm
Sun May 23 18:28:03 PDT 2004



André Pang wrote:

> The case where it helps you is in implementation.  As I said before, 
> I'll take a bet that if you implement subtitles with a duration field, 
> you'll find it a lot more painful than implementing it if they were 
> state changes.  I've done both, and while I'm rather far from winning 
> the world's most kickass programmer title, I found it much harder and 
> more complex to do the former -- I suspect (and hope) that people who 
> have implemented similar code would agree.  IMHO, I think it's 
> significantly harder that implementing it as state change rather than 
> duration is worth the effort (although I don't think there's much 
> effort involved -- it's a spec change).

If I was implementing duration subtitles I would be sure to decode my 
stream into priority queue of upcoming events and break the 'duration' 
subtitle into a 'turn on now' and 'turn me off at this time' event.

It's pretty embarassing when MIDI people lose a 'note off' event, and 
are stuck with an infinite last note. An alternative developed by a 
project that implemented real-time remote duets using midi pianos, was 
to assume 'note off' if a repeating 'note continue' was not recieved 
within a certain short period of time.

Say you are implementing a Theora TV system, and are putting the 
subtitles in real time with a speech recognizer that routinely misspels 
the names of terrorists. A separate 'subtitle off' event might reduce 
latency, though what I expect an optional 'continue subtitle' or 'early 
subtitle disappear, poof!' command would be more useful, or a small 
scrolling window that will disappear after a certain amount of 
non-updated time.

I'm sure if a physicist starts recording Theora home movies of his 
particle accellerator experiments he will find a suitable way to 
represent the results that is not OggWrit. Who would write the player, 
anyway? Icecast support? No thanks.

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