[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.
Lourens
--
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