[theora-dev] First Alpha of oggToolspp
Yorn
yorn at gmx.net
Mon Jan 14 12:01:43 PST 2008
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).
More information about the theora-dev
mailing list