~ubuntu-branches/ubuntu/precise/liboggz/precise

« back to all changes in this revision

Viewing changes to doc/liboggz/html/group__seek__semantics.html

  • Committer: Bazaar Package Importer
  • Author(s): Jamie Wilkinson
  • Date: 2005-04-16 01:19:44 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050416011944-5ipwrrc260ihkpp8
Tags: 0.9.1-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
 
3
<title>liboggz: Semantics of seeking in Ogg bitstreams</title>
 
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
5
</head><body>
 
6
<!-- Generated by Doxygen 1.4.0 -->
 
7
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="globals.html">Globals</a></div>
 
8
<h1>Semantics of seeking in Ogg bitstreams</h1><h2><a class="anchor" name="seek_semantics_intro">
 
9
Introduction</a></h2>
 
10
The seeking semantics of the Ogg file format were outlined by Monty in <a href="http://www.xiph.org/archives/theora-dev/200209/0040.html">a post to theora-dev</a> in September 2002. Quoting from that post, we have the following assumptions:<p>
 
11
<ul>
 
12
<li>Ogg is not a non-linear format. ... It is a media transport format designed to do nothing more than deliver content, in a stream, and have all the pieces arrive on time and in sync.</li><li>The Ogg layer does not know the specifics of the codec data it's multiplexing into a stream. It knows nothing beyond 'Oooo, packets!', that the packets belong to different buckets, that the packets go in order, and that packets have position markers. Ogg does not even have a concept of 'time'; it only knows about the sequentially increasing, unitless position markers. It is up to higher layers which have access to the codec APIs to assign and convert units of framing or time.</li></ul>
 
13
<p>
 
14
(For more details on the structure of Ogg streams, see the <a class="el" href="group__basics.html">Ogg Basics </a> section).<p>
 
15
For data such as media, for which it is possible to provide a mapping such as 'time', OGGZ can efficiently navigate through an Ogg stream by use of an OggzMetric callback, thus allowing automatic seeking to points in 'time'.<p>
 
16
For common codecs you can ask Oggz to set this for you automatically by instantiating the OGGZ handle with the OGGZ_AUTO flag set. For others you can specify a multiplier with <a class="el" href="oggz__deprecated_8h.html#a1">oggz_set_metric_linear()</a>, or a generic non-linear metric with <a class="el" href="group__metric.html#ga5">oggz_set_metric()</a>. 
 
17
<p>
 
18
<table border="0" cellpadding="0" cellspacing="0">
 
19
<tr><td></td></tr>
 
20
</table>
 
21
<hr size="1"><address style="align: right;"><small>Generated on Fri Apr 8 23:36:18 2005 for liboggz by&nbsp;
 
22
<a href="http://www.doxygen.org/index.html">
 
23
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.0 </small></address>
 
24
</body>
 
25
</html>