[ogg-dev] libogg++ release 0.1.1

Conrad Parker conrad at metadecks.org
Wed May 2 04:42:22 PDT 2007

On 02/05/07, Elaine YueLien <et at ihear.com> wrote:
> Hi,
> Several months ago, I asked a question about seeking without a metric.
> You can find one answer in this beta release, demonstrated in the
> example program multiThreadSeek. There is also an example demuxer, and a
> rewriter.

Hi Elaine,

congratulations :-) that's a nicely designed API you've got there.

Just to make sure we're not using the same word to mean two different
things, I'm not quite sure what you mean by "seeking without a
metric". In liboggz I used the word "metric" to mean the function that
converts a granulepos value to time, so that granulepos from different
logical bitstreams can be compared. That kind of function is of course
necessary to seek to a particular time point, or to merge streams. So
perhaps you mean something different ...

> Currently, I have access to only a limited number of platforms. I have
> tested it on a limited number of ogg streams of Theora/Vorbis only. I
> have not thoroughly checked out boundary cases. So I welcome any input
> from people on this list.

Well, there's plenty of corner cases ... :-) I guess the simplest test
of demux/mux is to make sure that your rewriter creates legal files
(eg. files that pass oggz-validate) or if possible identical files.
(oggz's examples/identity doesn't always create identical files as the
page segmentation info is not passed through at the packet level; hogg
rewrite does, but that involves quite a bit of overhead).

The simplest test of seeking is to jump around between a few locations
in a file. Jumping to near the end (but not the very end) is a good
test. You might want to try something similar to liboggz's
tests/seek-stress on your ogg files. Generally, files with wierd
paging (many packets broken across multiple pages) are good tests, and
if you are doing theora frame seeking then files with keyframes buried
inside pages are a good test also.

There are some useful test files in the mplayer archives:

cheers, and happy ogg hacking ...


More information about the ogg-dev mailing list