161 lines
4.5 KiB
Markdown
161 lines
4.5 KiB
Markdown
|
# Ogg
|
||
|
|
||
|
[![Travis Build Status](https://travis-ci.org/xiph/ogg.svg?branch=master)](https://travis-ci.org/xiph/ogg)
|
||
|
[![Jenkins Build Status](https://mf4.xiph.org/jenkins/job/libogg/badge/icon)](https://mf4.xiph.org/jenkins/job/libogg/)
|
||
|
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/xiph/ogg?branch=master&svg=true)](https://ci.appveyor.com/project/rillian/ogg)
|
||
|
|
||
|
Ogg project codecs use the Ogg bitstream format to arrange the raw,
|
||
|
compressed bitstream into a more robust, useful form. For example,
|
||
|
the Ogg bitstream makes seeking, time stamping and error recovery
|
||
|
possible, as well as mixing several sepearate, concurrent media
|
||
|
streams into a single physical bitstream.
|
||
|
|
||
|
## What's here ##
|
||
|
This source distribution includes libogg and nothing else. Other modules
|
||
|
(eg, the modules libvorbis, vorbis-tools for the Vorbis music codec,
|
||
|
libtheora for the Theora video codec) contain the codec libraries for
|
||
|
use with Ogg bitstreams.
|
||
|
|
||
|
Directory:
|
||
|
|
||
|
- `src` The source for libogg, a BSD-license inplementation of the public domain Ogg bitstream format
|
||
|
|
||
|
- `include` Library API headers
|
||
|
|
||
|
- `doc` Ogg specification and libogg API documents
|
||
|
|
||
|
- `win32` Win32 projects and build automation
|
||
|
|
||
|
## Contact ##
|
||
|
|
||
|
The Ogg homepage is located at https://www.xiph.org/ogg/ .
|
||
|
Up to date technical documents, contact information, source code and
|
||
|
pre-built utilities may be found there.
|
||
|
|
||
|
## Building ##
|
||
|
|
||
|
#### Building from tarball distributions ####
|
||
|
|
||
|
./configure
|
||
|
make
|
||
|
|
||
|
and optionally (as root):
|
||
|
|
||
|
make install
|
||
|
|
||
|
This will install the Ogg libraries (static and shared) into
|
||
|
/usr/local/lib, includes into /usr/local/include and API
|
||
|
documentation into /usr/local/share/doc.
|
||
|
|
||
|
#### Building from repository source ####
|
||
|
|
||
|
A standard svn build should consist of nothing more than:
|
||
|
|
||
|
./autogen.sh
|
||
|
./configure
|
||
|
make
|
||
|
|
||
|
and as root if desired :
|
||
|
|
||
|
make install
|
||
|
|
||
|
#### Building on Windows ####
|
||
|
|
||
|
Use the project file in the win32 directory. It should compile out of the box.
|
||
|
|
||
|
#### Cross-compiling from Linux to Windows ####
|
||
|
|
||
|
It is also possible to cross compile from Linux to windows using the MinGW
|
||
|
cross tools and even to run the test suite under Wine, the Linux/*nix
|
||
|
windows emulator.
|
||
|
|
||
|
On Debian and Ubuntu systems, these cross compiler tools can be installed
|
||
|
by doing:
|
||
|
|
||
|
sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine
|
||
|
|
||
|
Once these tools are installed its possible to compile and test by
|
||
|
executing the following commands, or something similar depending on
|
||
|
your system:
|
||
|
|
||
|
./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --build=i586-linux
|
||
|
make
|
||
|
make check
|
||
|
|
||
|
(Build instructions for Ogg codecs such as vorbis are similar and may
|
||
|
be found in those source modules' README files)
|
||
|
|
||
|
## Building with CMake ##
|
||
|
|
||
|
Ogg supports building using [CMake](http://www.cmake.org/). CMake is a meta build system that generates native projects for each platform.
|
||
|
To generate projects just run cmake replacing `YOUR-PROJECT-GENERATOR` with a proper generator from a list [here](http://www.cmake.org/cmake/help/v3.2/manual/cmake-generators.7.html):
|
||
|
|
||
|
mkdir build
|
||
|
cd build
|
||
|
cmake -G YOUR-PROJECT-GENERATOR ..
|
||
|
|
||
|
Note that by default cmake generates projects that will build static libraries.
|
||
|
To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
|
||
|
|
||
|
cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 ..
|
||
|
|
||
|
After projects are generated use them as usual
|
||
|
|
||
|
#### Building on Windows ####
|
||
|
|
||
|
Use proper generator for your Visual Studio version like:
|
||
|
|
||
|
cmake -G "Visual Studio 12 2013" ..
|
||
|
|
||
|
#### Building on Mac OS X ####
|
||
|
|
||
|
Use Xcode generator. To build framework run:
|
||
|
|
||
|
cmake -G Xcode -DBUILD_FRAMEWORK=1 ..
|
||
|
|
||
|
#### Building on Linux ####
|
||
|
|
||
|
Use Makefile generator which is default one.
|
||
|
|
||
|
cmake ..
|
||
|
make
|
||
|
|
||
|
## Testing ##
|
||
|
|
||
|
This package includes a collection of automated tests.
|
||
|
Running them is not part of building nor installation but optional.
|
||
|
|
||
|
### Unix-like System or MinGW ###
|
||
|
|
||
|
If build under automake:
|
||
|
|
||
|
make check
|
||
|
|
||
|
If build under CMake:
|
||
|
|
||
|
make test
|
||
|
|
||
|
or:
|
||
|
|
||
|
ctest
|
||
|
|
||
|
### Windows with MSBuild ###
|
||
|
|
||
|
If build with configuration type "Debug", then:
|
||
|
|
||
|
ctest -C Debug
|
||
|
|
||
|
If build with configuration type "Release", then:
|
||
|
|
||
|
ctest -C Release
|
||
|
|
||
|
## License ##
|
||
|
|
||
|
THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
|
||
|
USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
|
||
|
GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
|
||
|
IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
|
||
|
|
||
|
THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2019
|
||
|
by the Xiph.Org Foundation https://www.xiph.org/
|