Overview Download Docs Demo-Room

General Ogg Vorbis FLAC Theora JMF

J-Ogg

J-Ogg is a collection of Java libraries for reading Ogg files and decoding different contained formats. At the moment the support for Vorbis and FLAC is almost complete (the library decodes all files created by the current versions of libvorbis and libflac correctly) and I've started working on Theora support.

Requirements

The libraries are likely to run on any JRE version 1.2 or newer. For audio playback, a JRE 1.3 or newer is necessary, and the libraries have only been tested on Sun's JRE 1.3.1, 1.4.0, 1.4.1 and 1.4.2beta for Windows and Linux. It is recommended not to use version 1.4.0, as the Hotspot-compiler in this version seems to have a bug causing a CPU intensive part of the Vorbis decoder to be interpreted, instead of compiled by the Hotspot compiler.

Background

In August 2002, Sun Microsystems released a new version of the Java Media Framework. It was just a minor change from 2.1.1a to 2.1.1b, but with the change of a letter and because of the new licencing policy, they also removed the MPEG codecs from the library. With that, JMF only had support for audio formats used for speech encoding, like GSM, ADPCM, ยต-Law and a-Law and had no codec for hi-fi quality sound, except plain uncompressed PCM.

At that time, I was working on a JMF-based music distribution system in my spare time and the lack of a usable hi-fi codec meant, that the work already done was completely worthless. Today, the software is not much further developed than it was back then, but I've at least managed to implement some decoders able to take the place left open by removing the MPEG-support in JMF. For just simple audio playback, the Java Media Framework is an enormous overkill, so I've implemented the JMF-plugins as wrappers for the core libraries, which may be used also without installing JMF.