1*4d5d8b54SAndroid Build Coastguard Worker# Ogg 2*4d5d8b54SAndroid Build Coastguard Worker 3*4d5d8b54SAndroid Build Coastguard Worker[](https://travis-ci.org/xiph/ogg) 4*4d5d8b54SAndroid Build Coastguard Worker[](https://mf4.xiph.org/jenkins/job/libogg/) 5*4d5d8b54SAndroid Build Coastguard Worker[](https://ci.appveyor.com/project/rillian/ogg) 6*4d5d8b54SAndroid Build Coastguard Worker 7*4d5d8b54SAndroid Build Coastguard WorkerOgg project codecs use the Ogg bitstream format to arrange the raw, 8*4d5d8b54SAndroid Build Coastguard Workercompressed bitstream into a more robust, useful form. For example, 9*4d5d8b54SAndroid Build Coastguard Workerthe Ogg bitstream makes seeking, time stamping and error recovery 10*4d5d8b54SAndroid Build Coastguard Workerpossible, as well as mixing several sepearate, concurrent media 11*4d5d8b54SAndroid Build Coastguard Workerstreams into a single physical bitstream. 12*4d5d8b54SAndroid Build Coastguard Worker 13*4d5d8b54SAndroid Build Coastguard Worker## What's here ## 14*4d5d8b54SAndroid Build Coastguard WorkerThis source distribution includes libogg and nothing else. Other modules 15*4d5d8b54SAndroid Build Coastguard Worker(eg, the modules libvorbis, vorbis-tools for the Vorbis music codec, 16*4d5d8b54SAndroid Build Coastguard Workerlibtheora for the Theora video codec) contain the codec libraries for 17*4d5d8b54SAndroid Build Coastguard Workeruse with Ogg bitstreams. 18*4d5d8b54SAndroid Build Coastguard Worker 19*4d5d8b54SAndroid Build Coastguard WorkerDirectory: 20*4d5d8b54SAndroid Build Coastguard Worker 21*4d5d8b54SAndroid Build Coastguard Worker- `src` The source for libogg, a BSD-license inplementation of the public domain Ogg bitstream format 22*4d5d8b54SAndroid Build Coastguard Worker 23*4d5d8b54SAndroid Build Coastguard Worker- `include` Library API headers 24*4d5d8b54SAndroid Build Coastguard Worker 25*4d5d8b54SAndroid Build Coastguard Worker- `doc` Ogg specification and libogg API documents 26*4d5d8b54SAndroid Build Coastguard Worker 27*4d5d8b54SAndroid Build Coastguard Worker- `win32` Win32 projects and build automation 28*4d5d8b54SAndroid Build Coastguard Worker 29*4d5d8b54SAndroid Build Coastguard Worker## Contact ## 30*4d5d8b54SAndroid Build Coastguard Worker 31*4d5d8b54SAndroid Build Coastguard WorkerThe Ogg homepage is located at https://www.xiph.org/ogg/ . 32*4d5d8b54SAndroid Build Coastguard WorkerUp to date technical documents, contact information, source code and 33*4d5d8b54SAndroid Build Coastguard Workerpre-built utilities may be found there. 34*4d5d8b54SAndroid Build Coastguard Worker 35*4d5d8b54SAndroid Build Coastguard Worker## Building ## 36*4d5d8b54SAndroid Build Coastguard Worker 37*4d5d8b54SAndroid Build Coastguard Worker#### Building from tarball distributions #### 38*4d5d8b54SAndroid Build Coastguard Worker 39*4d5d8b54SAndroid Build Coastguard Worker ./configure 40*4d5d8b54SAndroid Build Coastguard Worker make 41*4d5d8b54SAndroid Build Coastguard Worker 42*4d5d8b54SAndroid Build Coastguard Workerand optionally (as root): 43*4d5d8b54SAndroid Build Coastguard Worker 44*4d5d8b54SAndroid Build Coastguard Worker make install 45*4d5d8b54SAndroid Build Coastguard Worker 46*4d5d8b54SAndroid Build Coastguard WorkerThis will install the Ogg libraries (static and shared) into 47*4d5d8b54SAndroid Build Coastguard Worker/usr/local/lib, includes into /usr/local/include and API 48*4d5d8b54SAndroid Build Coastguard Workerdocumentation into /usr/local/share/doc. 49*4d5d8b54SAndroid Build Coastguard Worker 50*4d5d8b54SAndroid Build Coastguard Worker#### Building from repository source #### 51*4d5d8b54SAndroid Build Coastguard Worker 52*4d5d8b54SAndroid Build Coastguard WorkerA standard svn build should consist of nothing more than: 53*4d5d8b54SAndroid Build Coastguard Worker 54*4d5d8b54SAndroid Build Coastguard Worker ./autogen.sh 55*4d5d8b54SAndroid Build Coastguard Worker ./configure 56*4d5d8b54SAndroid Build Coastguard Worker make 57*4d5d8b54SAndroid Build Coastguard Worker 58*4d5d8b54SAndroid Build Coastguard Workerand as root if desired : 59*4d5d8b54SAndroid Build Coastguard Worker 60*4d5d8b54SAndroid Build Coastguard Worker make install 61*4d5d8b54SAndroid Build Coastguard Worker 62*4d5d8b54SAndroid Build Coastguard Worker#### Building on Windows #### 63*4d5d8b54SAndroid Build Coastguard Worker 64*4d5d8b54SAndroid Build Coastguard WorkerUse the project file in the win32 directory. It should compile out of the box. 65*4d5d8b54SAndroid Build Coastguard Worker 66*4d5d8b54SAndroid Build Coastguard Worker#### Cross-compiling from Linux to Windows #### 67*4d5d8b54SAndroid Build Coastguard Worker 68*4d5d8b54SAndroid Build Coastguard WorkerIt is also possible to cross compile from Linux to windows using the MinGW 69*4d5d8b54SAndroid Build Coastguard Workercross tools and even to run the test suite under Wine, the Linux/*nix 70*4d5d8b54SAndroid Build Coastguard Workerwindows emulator. 71*4d5d8b54SAndroid Build Coastguard Worker 72*4d5d8b54SAndroid Build Coastguard WorkerOn Debian and Ubuntu systems, these cross compiler tools can be installed 73*4d5d8b54SAndroid Build Coastguard Workerby doing: 74*4d5d8b54SAndroid Build Coastguard Worker 75*4d5d8b54SAndroid Build Coastguard Worker sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine 76*4d5d8b54SAndroid Build Coastguard Worker 77*4d5d8b54SAndroid Build Coastguard WorkerOnce these tools are installed its possible to compile and test by 78*4d5d8b54SAndroid Build Coastguard Workerexecuting the following commands, or something similar depending on 79*4d5d8b54SAndroid Build Coastguard Workeryour system: 80*4d5d8b54SAndroid Build Coastguard Worker 81*4d5d8b54SAndroid Build Coastguard Worker ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --build=i586-linux 82*4d5d8b54SAndroid Build Coastguard Worker make 83*4d5d8b54SAndroid Build Coastguard Worker make check 84*4d5d8b54SAndroid Build Coastguard Worker 85*4d5d8b54SAndroid Build Coastguard Worker(Build instructions for Ogg codecs such as vorbis are similar and may 86*4d5d8b54SAndroid Build Coastguard Workerbe found in those source modules' README files) 87*4d5d8b54SAndroid Build Coastguard Worker 88*4d5d8b54SAndroid Build Coastguard Worker## Building with CMake ## 89*4d5d8b54SAndroid Build Coastguard Worker 90*4d5d8b54SAndroid Build Coastguard WorkerOgg supports building using [CMake](http://www.cmake.org/). CMake is a meta build system that generates native projects for each platform. 91*4d5d8b54SAndroid Build Coastguard WorkerTo 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): 92*4d5d8b54SAndroid Build Coastguard Worker 93*4d5d8b54SAndroid Build Coastguard Worker mkdir build 94*4d5d8b54SAndroid Build Coastguard Worker cd build 95*4d5d8b54SAndroid Build Coastguard Worker cmake -G YOUR-PROJECT-GENERATOR .. 96*4d5d8b54SAndroid Build Coastguard Worker 97*4d5d8b54SAndroid Build Coastguard WorkerNote that by default cmake generates projects that will build static libraries. 98*4d5d8b54SAndroid Build Coastguard WorkerTo generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this: 99*4d5d8b54SAndroid Build Coastguard Worker 100*4d5d8b54SAndroid Build Coastguard Worker cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .. 101*4d5d8b54SAndroid Build Coastguard Worker 102*4d5d8b54SAndroid Build Coastguard WorkerAfter projects are generated use them as usual 103*4d5d8b54SAndroid Build Coastguard Worker 104*4d5d8b54SAndroid Build Coastguard Worker#### Building on Windows #### 105*4d5d8b54SAndroid Build Coastguard Worker 106*4d5d8b54SAndroid Build Coastguard WorkerUse proper generator for your Visual Studio version like: 107*4d5d8b54SAndroid Build Coastguard Worker 108*4d5d8b54SAndroid Build Coastguard Worker cmake -G "Visual Studio 12 2013" .. 109*4d5d8b54SAndroid Build Coastguard Worker 110*4d5d8b54SAndroid Build Coastguard Worker#### Building on Mac OS X #### 111*4d5d8b54SAndroid Build Coastguard Worker 112*4d5d8b54SAndroid Build Coastguard WorkerUse Xcode generator. To build framework run: 113*4d5d8b54SAndroid Build Coastguard Worker 114*4d5d8b54SAndroid Build Coastguard Worker cmake -G Xcode -DBUILD_FRAMEWORK=1 .. 115*4d5d8b54SAndroid Build Coastguard Worker 116*4d5d8b54SAndroid Build Coastguard Worker#### Building on Linux #### 117*4d5d8b54SAndroid Build Coastguard Worker 118*4d5d8b54SAndroid Build Coastguard WorkerUse Makefile generator which is default one. 119*4d5d8b54SAndroid Build Coastguard Worker 120*4d5d8b54SAndroid Build Coastguard Worker cmake .. 121*4d5d8b54SAndroid Build Coastguard Worker make 122*4d5d8b54SAndroid Build Coastguard Worker 123*4d5d8b54SAndroid Build Coastguard Worker## Testing ## 124*4d5d8b54SAndroid Build Coastguard Worker 125*4d5d8b54SAndroid Build Coastguard WorkerThis package includes a collection of automated tests. 126*4d5d8b54SAndroid Build Coastguard WorkerRunning them is not part of building nor installation but optional. 127*4d5d8b54SAndroid Build Coastguard Worker 128*4d5d8b54SAndroid Build Coastguard Worker### Unix-like System or MinGW ### 129*4d5d8b54SAndroid Build Coastguard Worker 130*4d5d8b54SAndroid Build Coastguard WorkerIf build under automake: 131*4d5d8b54SAndroid Build Coastguard Worker 132*4d5d8b54SAndroid Build Coastguard Worker make check 133*4d5d8b54SAndroid Build Coastguard Worker 134*4d5d8b54SAndroid Build Coastguard WorkerIf build under CMake: 135*4d5d8b54SAndroid Build Coastguard Worker 136*4d5d8b54SAndroid Build Coastguard Worker make test 137*4d5d8b54SAndroid Build Coastguard Worker 138*4d5d8b54SAndroid Build Coastguard Workeror: 139*4d5d8b54SAndroid Build Coastguard Worker 140*4d5d8b54SAndroid Build Coastguard Worker ctest 141*4d5d8b54SAndroid Build Coastguard Worker 142*4d5d8b54SAndroid Build Coastguard Worker### Windows with MSBuild ### 143*4d5d8b54SAndroid Build Coastguard Worker 144*4d5d8b54SAndroid Build Coastguard WorkerIf build with configuration type "Debug", then: 145*4d5d8b54SAndroid Build Coastguard Worker 146*4d5d8b54SAndroid Build Coastguard Worker ctest -C Debug 147*4d5d8b54SAndroid Build Coastguard Worker 148*4d5d8b54SAndroid Build Coastguard WorkerIf build with configuration type "Release", then: 149*4d5d8b54SAndroid Build Coastguard Worker 150*4d5d8b54SAndroid Build Coastguard Worker ctest -C Release 151*4d5d8b54SAndroid Build Coastguard Worker 152*4d5d8b54SAndroid Build Coastguard Worker## License ## 153*4d5d8b54SAndroid Build Coastguard Worker 154*4d5d8b54SAndroid Build Coastguard WorkerTHIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. 155*4d5d8b54SAndroid Build Coastguard WorkerUSE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS 156*4d5d8b54SAndroid Build Coastguard WorkerGOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE 157*4d5d8b54SAndroid Build Coastguard WorkerIN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. 158*4d5d8b54SAndroid Build Coastguard Worker 159*4d5d8b54SAndroid Build Coastguard WorkerTHE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2019 160*4d5d8b54SAndroid Build Coastguard Workerby the Xiph.Org Foundation https://www.xiph.org/ 161