Liboggz

Jul 20, 2023

Simple Ogg API

Oggz provides a simple programming interface for reading and writing Ogg files and streams. Ogg is an interleaving data container developed by Monty at Xiph.Org, originally to support the Ogg Vorbis audio format.

liboggz supports the flexibility afforded by the Ogg file format while presenting the following API niceties

  • Strict adherence to the formatting requirements of Ogg bitstreams, to ensure that only valid bitstreams are generated
  • A simple, callback based open/read/close or open/write/close interface to raw Ogg files
  • A customisable seeking abstraction for seeking on multitrack Ogg data
  • A packet queue for feeding incoming packets for writing, with callback based notification when this queue is empty
  • A means of overriding the IO functions used by Oggz, for easier integration with media frameworks and similar systems.
  • A handy table structure for storing information on each logical bitstream


Checkout these related ports:
  • Zynaddsubfx - Realtime software synthesizer
  • Zrythm - Modern music production system, also known as DAW
  • Zplugins-lv2 - Collection of LV2 plugins to be bundled with Zrythm
  • Zmusic - GZDoom's music system as a standalone library
  • Zita-rev1 - Reworked version of the reverb originally developed for Aeolus
  • Zita-resampler - C++ library for resampling audio signals
  • Zita-njbridge - Command line client to transmit audio over a local IP network
  • Zita-mu1 - Simple Jack app used to organise stereo monitoring
  • Zita-jclient - Library to create a Jack client with a few lines of C++
  • Zita-dpl1 - Look-ahead digital peak level limiter
  • Zita-convolver - Fast, partitioned convolution engine library
  • Zita-bls1 - Blumlein Shuffler converter of binaural signals to stereo speaker pair
  • Zita-at1 - Autotuner Jack application
  • Zita-alsa-pcmi - Easy access to ALSA PCM devices
  • Zinf - GTK-based MP3 player