Hi all, I am happy, to announce the first (Alpha) release of the oggToolspp. The basis of the command line tools is a small, but hopefully growing library for manipulating ogg streams (mainly video streams) written in c++. The aim of this library is, to provide easy access methods to ogg pages, ogg packets and the video-frames and audio-samples in the end. The command line tools are actually oggSplit, which will divided an oggFile into it's streams and oggDump which will print a dump of an ogg file. The tools are more a prove of concept for the c++ library. Please don't count them as a replacement of the oggz-Library tools. The files can be downloaded from: http://www.streamnik.de/download.html Please remember the library is far away from being complete. There are a lot of thinks, that need work actually. E.g. there is no configure script and no readme. Have fun - Yorn -------------- For those who are interested in the concept: C++ provides streaming operators (<< and >>) which are mainly used by the system to receive text at stderr or stdout (cout << "Hello World"). However, I use these operators for transfering information from one media unit to another. E.g. the two lines: repository >> rawData; oggDecoder << rawData; will grap a bunch of raw data from a repository (e.g. a file) and place it into rawData. This rawData object is then placed into the oggDecoder. To find out if there is output data available, all media units provide the method isAvailable(): while (oggDecoder.isAvailable()) { oggDecoder >> oggPage; oggStreamDecoder << oggPage; } This can be done up until a frame or audio sample is available, but you don't have to. You can also place the data it into an oggEncoder and then into a new repository e.g. to split a stream (please refer to oggSplit as an example).