On Tue, Nov 30, 2004 at 09:47:29AM -0800, Ralph Giles
wrote:> On Tue, Nov 30, 2004 at 02:37:59PM +0100, Robert Brautigam wrote:
>
> > There is a new Java implementation of the Ogg library. The link is
> > http://netmind.hu/ogg
> > This is a high level implementation, meant to be as easy as possible,
> > while preserving all ogg's features.
>
> Cool. What's the feature list? Does it handle multiplexed streams?
It is a full implementation of the Ogg protocol,
- Handles multiplexed streams in both InputStream and OutputStream
- Handles chained ogg streams, again both reading and writing.
- It totally hides the paging when reading an ogg stream (user
only receives packets of a logical stream, of course it can ask
for a current granule position)
- It hides paging when creating streams, altough a custom paging
algorithm can be plugged into a logical stream easily. The default
paging algorithm tries to produce packets of size 4-8kbyte.
- You can handle a logical stream as it were a normal Java
OutputStream or InputStream, you can give it to an xml parser, a
jar or zip stream, and the output will be automatically ogg packaged.
I've transcoded the konqi.ogg file floating 'round the net, using this
library (reading and writing the same back to another file). Using the
default pager, that is, producing 4-8kbyte pages (which means, original
page boundaries probably were not kept), and the output played just
like the original (using mplayer), the sound and picture were in sync.
I will put a few examples and a tutorial on the web, but currently I got
other things to do.
All feedback welcome,
Robert.