Go to file
Timothy B. Terriberry 14920bae03 Make false continued packet handling consistent
A false continued packet occurs if the previous page ended at the
 end of a packet, with no sequence number gap and no continued data
 on that page, while the current page has the continued packet flag
 set.
Previously, if you drained all of the buffered packet data by
 repeatedly calling ogg_stream_packetout() after submitting the
 previous page but before submitting the current page, libogg would
 discard the continued data at the beggining of the current page.
However, if you left the previous page's data in the buffer, then
 libogg would happily return the continued data at the start of the
 current page as a separate packet when you eventually did call
 ogg_stream_packetout().

This patch makes libogg consistently discard this data.
2017-06-16 15:01:08 -07:00
doc Fix a documentation typo. 2015-11-09 11:02:53 -08:00
include Remove Mac OS 9 support from os_types.h. 2015-06-18 14:01:20 -07:00
macosx update CHANGES 2009-06-23 15:52:31 +00:00
src Make false continued packet handling consistent 2017-06-16 15:01:08 -07:00
symbian add support for Symbian OS, from Colin Ward (CSIRO) 2004-08-11 04:20:36 +00:00
win32 win32/.gitignore: Ignore temporary .vc.opendb files. 2016-07-27 11:17:38 -07:00
.gitignore Add VS Git Ignores 2016-05-18 11:49:06 -07:00
.travis.yml Add minimal travis continuous intregration config. 2015-05-20 11:23:22 -07:00
appveyor.yml Add appveyor.yml to test VS2015 builds. 2016-07-27 11:17:45 -07:00
AUTHORS Update the author list with recent contributors. 2011-08-04 17:34:43 +00:00
autogen.sh Remove spurious ACLOCAL_FLAGS variable from autogen.sh. 2015-09-25 18:29:25 -07:00
CHANGES Update changelog and versioning for release. 2014-05-27 16:23:58 +00:00
CMakeLists.txt cmake: fix out-of-source build 2017-06-12 10:18:10 -07:00
configure.ac Rename configure.in to configure.ac 2015-05-19 14:27:32 -07:00
COPYING REGENTS->FOUNDATION 2002-10-11 06:17:20 +00:00
libogg.spec.in update doc/libogg in libogg.spec.in, as reported by thosmos in #vorbis 2007-11-08 07:44:39 +00:00
Makefile.am Update makefile for README rename. 2015-05-20 11:14:14 -07:00
ogg-uninstalled.pc.in Provide the static library from ogg-uninstalled.pc. 2012-08-31 17:49:46 +00:00
ogg.m4 Remote trailing whitespace. 2012-08-31 17:22:07 +00:00
ogg.pc.in This patch adds an -uninstalled.pc file so other libs/tools can use it 2004-07-05 11:21:44 +00:00
README.md Use the AppVeyor status for the xiph repo on github. 2016-09-28 08:39:22 -07:00
releases.sha2 Add release checksums. 2015-05-08 13:30:14 -07:00

Ogg

Travis Build Status Jenkins Build Status AppVeyor Build Status

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

  • macosx Mac OS X project and build files

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. 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:

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

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-2015 by the Xiph.Org Foundation https://www.xiph.org/