[vorbis-dev] Bride of vorbisfile questions

Michael Smith msmith at xiph.org
Sun Dec 14 22:35:53 PST 2003



On Monday 15 December 2003 17:18, John Morton wrote:
> I've been playing around with using ov_test and ov_test_open as an
> alternative to ov_open in the xmms plugin's vorbis_check_file function.
> xmms never bothers to cache the result of a file check, so it tends to
> happen rather a lot. Unfortunately ov_test_open returns OV_EINVAL because
> ov_test seems to have left vf->ready_state to OPEN rather than PARTOPEN.
>
> I'm presuming this is a bug in libvorbisfile-1.0 - has it been fixed in
> 1.0.1?

There were a lot of vorbisfile bugs fixed between 1.0 and 1.0.1 - you could 
try checking bugzilla if you want to be sure, but it might just be easier to 
try the newer library. This does sound like one of the bugs fixed, though.

>
> On another matter, what would be the best way to find out if a given
> logical stream is valid vorbis? ov_test and ov_open will fail if the first
> stream isn't vorbis (bit of a pain, that, as subsequant streams could be
> vorbis. Not way to work around it without abandoning libvorbisfile, I
> think). I've tried checking for ov_info returning NULL on the remaining
> streams but it returns a struct packed with nonsense anyway. Any better
> solutions?

<p>Vorbisfile deliberately only supports degenerate ogg vorbis streams (physical 
ogg bitstreams with no multiplexing and where all logical ogg bitstreams are 
vorbis). So you shouldn't really expect ov_open() to successfully open it 
unless all the streams are valid vorbis. In some cases, it might do so - but 
you should definately NOT rely on this behaviour.

Don't use vorbisfile at all if you're trying to deal with multiplexed ogg 
streams (but be prepared to deal with a lot of complexity if you want to 
implement seeking). Vorbis I players are only required (and really only 
expected, since this is all vorbisfile supports) to support degenerate ogg 
vorbis streams.

Mike

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