[vorbis-dev] Ogg Vorbis, Ogg Speex, Ogg FLAC

Lourens Veen lourens at rainbowdesert.net
Thu Jan 30 13:09:51 PST 2003

On Thu 30 January 2003 18:00, P Oscar Boykin wrote:
> First of all,
> let me say that I don't know the current library very well.  But
> what I would like to see libraries all support the same interface
> for dealing with packets taken from an ogg file.
> So, you could look into the ogg file, see what type of packets it
> has. Using only that information, try to load a plugin to handle
> them, which will make use of one interface.
> In this way, all players that use speex, vorbis, flac, theora....
>  can look into the ogg, get the type of that packet, load the
> decoder plugin, and start sending that plugin packets.

This seems to me like the most sane way to go. Each plug-in can then 
be written using the library for that codec. That way, each codec 
can have its own interface still (with perhaps codec-specific 
options for programs using it directly) and a player can simply use 
a library that handles loading the plug-ins. Ofcourse, it can be 
simplified by dropping the dynamic loading part and writing a 
library that consists of a manager and a bunch of codec modules. If 
the interface between the manager and the modules is standardised 
then new codecs can be added by writing a module, which can be 
developed and tested separately before becoming part of the 
mainline code.

The problem with this if it replaces the individual codec libraries 
is that it means that a program that wants to be able to load e.g. 
Ogg Vorbis only has to link to the entire library, thus increasing 
bloatedness of the whole. Perhaps a clever compile system that can 
leave out or include modules on request can help here.

I think GStreamer already implements something similar to your idea, 
using plug-ins for demuxers (Ogg) as well as codecs. I don't know 
how suitable GStreamer is for smaller projects though, say if you 
only want to make a simple audio file player.


GPG public key: http://home.student.utwente.nl/l.e.veen/lourens.key

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