Andre Pang
2005-Jan-05 10:00 UTC
[Vorbis-dev] Some oggdsf utilities and libraries now available on UNIX
Hi all, (This has been cross-posted to vorbis-dev and ogg-dev, since I thought various people on vorbis-dev may be interested in it.) I've been working with illiminable for the past few weeks to port the underlying, platform-neutral part of his DirectShow filters (oggdsf) to UNIX. While DirectShow is a Windows-specific media framework, illiminable's filters have been designed so that the DirectShow filters are actually wrappers around quite platform-neutral C++ libraries. Since most Windows-specific code are contained only within the DirectShow filters, it was quite easy to port the underlying libraries to UNIX systems. So, some of illiminable's libraries are now available for your hacking pleasure on UNIX systems. Specifically, these libraries and tools (note, the "OO" in the names of the libraries and tools means "Object-Oriented" -- blame illiminable for that name ;): * libilliCore: generally useful C++ functions * libOOOgg: an alternative Ogg bitstream (de)multiplexer (doesn't use libogg at all) * libOOOggSeek: provides seeking in Ogg files * libVorbisComment: a library to construct and extract Vorbis comments from Ogg streams * libOOOggChef: slice and dice Ogg files by logical bitstreams and time * OOOggDump: An Ogg page and packet dumper (similar to liboggz's oggzdump if you've used that) * OOOggValidate: An Ogg bitstream validator * OOOggStat: Tells you what streams are present in an Ogg file * OOOggChainSplitter: Splits chained Ogg streams up and renames the resulting files according to the Vorbis comments stored in the original chained file (useful for all you internet radio listeners) * OOOggCommentDump: Print out Vorbis comments in an Ogg stream * OOOggSeekFileMaker: Construct a seek table from an Ogg file (not very useful on its own, but a good example program on how to use the libOOOggSeek library) * OOOggSeekFileReader: Reads back a seek table constructed with OOggSeekFileMaker and prints out the time<->byte mappings There are many other libraries that I haven't ported across yet (such as libOOTheora), but they shouldn't be too hard to port at all if people are interested. OOOggDump, OOOggValidate and OOOggChainSplitter are quite useful tools in their own right. I've tested the libraries and tools on Linux and Mac OS X, although it should compile on other UNIXes without much of a problem. Note that GNU g++ 3.3 is required due to the extensive use of #pragma once in the header files (and better conformance to the STL). To play with this code, just check out http://svn.xiph.org/oggdsf/trunk (it will take a while!), cd into the unix/ directory, type 'autoreconf' there to invoke the GNU autotools chain (autoreconf should come as part of your OS distribution), and do the standard ./configure && make && make install mantra. Anyway, if you have more of a C++ bent or just want an alternative to libogg on UNIX, have a look at the oggdsf-derived libraries. Happy hacking! -- : Andr? Pang (x4180) : Software Engineer, Networked Media : CeNTIE
Ralph Giles
2005-Jan-05 11:25 UTC
[Vorbis-dev] Some oggdsf utilities and libraries now available on UNIX
On Thu, Jan 06, 2005 at 03:05:27AM +1100, Andre Pang wrote:> To play with this code, just check out http://svn.xiph.org/oggdsf/trunk > (it will take a while!), cd into the unix/ directory, type 'autoreconf' > there to invoke the GNU autotools chain (autoreconf should come as part > of your OS distribution), and do the standard ./configure && make && > make install mantra.Note that the url should be http://svn.xiph.org/trunk/oggdsf -r