Changes

Jump to: navigation, search

OggIssues

73 bytes added, 04:51, 8 February 2008
re-format in terms of design problems, proposed solutions etc.
= Problems resulting from design of Ogg =
 
== Seeking and Editing Problems ==
* pages, and libogg's behaviour when creating them
== What use are... ==
 
* serial numbers?
* packet numbers?
* pages?
* checksums?
** Useful for audio (preventing ear damage), but could be optional for video
 
== Cleaner Abstractions ==
 
* We should not need to know the type of a stream if we are not decoding the stream
* granulepos interpretations
* headers
* seeking
* cutting
* Skeleton goes some way towards fixing this
 
== Libogg issues ==
 
* Stupid decision for flushing pages
* Makes it generally easy to build broken files.
 
= Proposed solutions =
== i Short-term workarounds (Ogg1-compatible) ==* Don't use partial packets unless absolutely necessary* If absolutely necessary, don't know share the answers pages with other packets* Specify that pages should not contain more than X ms of data (let's say 250-500 ms)* Put Theora keyframes alone on their page?? == Successor to Ogg ==
* We need to design a successor to Ogg
* Would an up-front index be better?
=Rebuttal = Cleaner Abstractions == * We should not need to know the type of a stream if we are not decoding the stream* granulepos interpretations* headers* seeking* cutting* Skeleton goes some way towards fixing this == What use are... == * serial numbers?* packet numbers?* pages?* checksums?** Useful for audio (preventing ear damage), but could be optional for video
== Devil's Advocate ==
* Nobody cares about <insert hated feature here> anyway
* Even if we have Ogg2, we'll still be stuck having to support Ogg1 and broken files
 
== Short-term workarounds (Ogg1-compatible) ==
* Don't use partial packets unless absolutely necessary
* If absolutely necessary, don't share the pages with other packets
* Specify that pages should not contain more than X ms of data (let's say 250-500 ms)
* Put Theora keyframes alone on their page??
 
== Libogg issues ==
* Stupid decision for flushing pages
* Makes it generally easy to build broken files.

Navigation menu