The underlying multi-stream container format for the data inFreeCLAS is Ogg, developed at libogg++ is a C++ library implementing Ogg. It is designed to be independent of the specific codecs for the interleaved data streams, and to be thread-safe in a threading model in which each codec or transport runs its own thread.

libogg++ is FOSS, and is hosted at

The ALingA format is a multi-stream format based on the Ogg format, and Libalinga is a specialization of libogg++.

You will need to install libogg++ in order to run Shva.

How to install libogg++

  • Download latest release
  • Build and install
    After untarring into a build directory ./configure --prefix=/usr/local/gnutopia The prefix is the top directory of the tree into which libogg++ will be installed. We recommend you use the same prefix for all three libraries needed to run Shva. If you use a prefix other than the above, you may need to add <prefix>/lib to your environment variable LD_LIBRARY_PATH before you run shva. ./make install
  • That's it. But you will also need to install Libalinga and Libneuro before running shva.

The java native interface to libogg++

For each major or minor release of libogg++, there may be a corresponding jni release. If there is no matching jni release, then the last jni release suffices for use with the latest libogg++ release, but without the latest additions. libogg++java1-1.0.tar.gz (to be uploaded soon), will work with the latest libogg++1-2.0.tar.gz(info).

You do not need to build and install this library for shva, it is bundled with the web start package that gets downloaded when you click on the "shva this!" link on a FreeCLAS wiki page. It is provided to developers who may want to use libogg++ in developing other java applications.

libogg++1-1.0 features

Added Logical::PageWriter, Logical::PageReader. Use PageReader to read raw (un-decapsulated) pages either simultaneously with reading the decapsulated packets, or by themselves. The application can then route these pages to a Pagewriter. This allows logical streams to be ripped and merged into Ogg streams without re-encapsulation

--TEReisler, 04-Jun-2009

libogg++1-2.0 changes

1) additional debug(..) calls.

2) fix for stream selection logic - name change for one of the thrown exceptions.

3) various bug fixes.

--TEReisler, 24-Jun-2011

libogg++1-2.1 changes

1) fix memory leaks

2) fix double mutex initialization

--TEReisler, 06-Nov-2013

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
libogg++1-0.1.tar.gz 379.582 kB 1 Wed Jul 23 17:12:24 PDT 2008 TEReisler release 1.0.1
libogg++1-1.0.tar.gz 381.864 kB 1 Thu Jun 04 10:41:36 PDT 2009 TEReisler release 1.1.0
libogg++1-2.0.tar.gz 393.276 kB 1 Fri Jun 24 12:23:52 PDT 2011 TEReisler release 1.2.0
libogg++1-2.1.tar.gz ? kB 1 Wed Nov 06 2013 TEReisler release 1.2.1
libogg++java1-0.1.tar.gz 359.875 kB 1 Mon Jul 21 13:43:40 PDT 2008 TEReisler jni release 1.0.1
« This page (revision-8) was last changed on 24-Jun-2011 12:32 by TEReisler [RSS]