Documentation updates to reflect crosslap API extentions
authorMonty <xiphmont@xiph.org>
Sat, 8 Mar 2003 08:11:28 +0000 (08:11 +0000)
committerMonty <xiphmont@xiph.org>
Sat, 8 Mar 2003 08:11:28 +0000 (08:11 +0000)
svn path=/trunk/vorbis/; revision=4449

56 files changed:
doc/vorbisfile/OggVorbis_File.html
doc/vorbisfile/callbacks.html
doc/vorbisfile/chaining_example_c.html
doc/vorbisfile/chainingexample.html
doc/vorbisfile/crosslap.html [new file with mode: 0644]
doc/vorbisfile/datastructures.html
doc/vorbisfile/decoding.html
doc/vorbisfile/example.html
doc/vorbisfile/exampleindex.html
doc/vorbisfile/fileinfo.html
doc/vorbisfile/index.html
doc/vorbisfile/initialization.html
doc/vorbisfile/ov_bitrate.html
doc/vorbisfile/ov_bitrate_instant.html
doc/vorbisfile/ov_callbacks.html
doc/vorbisfile/ov_clear.html
doc/vorbisfile/ov_comment.html
doc/vorbisfile/ov_crosslap.html [new file with mode: 0644]
doc/vorbisfile/ov_info.html
doc/vorbisfile/ov_open.html
doc/vorbisfile/ov_open_callbacks.html
doc/vorbisfile/ov_pcm_seek.html
doc/vorbisfile/ov_pcm_seek_lap.html [new file with mode: 0644]
doc/vorbisfile/ov_pcm_seek_page.html
doc/vorbisfile/ov_pcm_seek_page_lap.html [new file with mode: 0644]
doc/vorbisfile/ov_pcm_tell.html
doc/vorbisfile/ov_pcm_total.html
doc/vorbisfile/ov_raw_seek.html
doc/vorbisfile/ov_raw_seek_lap.html [new file with mode: 0644]
doc/vorbisfile/ov_raw_tell.html
doc/vorbisfile/ov_raw_total.html
doc/vorbisfile/ov_read.html
doc/vorbisfile/ov_read_float.html
doc/vorbisfile/ov_seekable.html
doc/vorbisfile/ov_serialnumber.html
doc/vorbisfile/ov_streams.html
doc/vorbisfile/ov_test.html
doc/vorbisfile/ov_test_callbacks.html
doc/vorbisfile/ov_test_open.html
doc/vorbisfile/ov_time_seek.html
doc/vorbisfile/ov_time_seek_lap.html [new file with mode: 0644]
doc/vorbisfile/ov_time_seek_page.html
doc/vorbisfile/ov_time_seek_page_lap.html [new file with mode: 0644]
doc/vorbisfile/ov_time_tell.html
doc/vorbisfile/ov_time_total.html
doc/vorbisfile/overview.html
doc/vorbisfile/reference.html
doc/vorbisfile/return.html
doc/vorbisfile/seekexample.html
doc/vorbisfile/seeking.html
doc/vorbisfile/seeking_example_c.html
doc/vorbisfile/seeking_test_c.html
doc/vorbisfile/threads.html
doc/vorbisfile/vorbis_comment.html
doc/vorbisfile/vorbis_info.html
doc/vorbisfile/vorbisfile_example_c.html

index 05548c8cfa0f2d8e53ac7c29003420769953fde2..e4a033e1bebcf0d8ef8abb6939a4f8c279c20e70 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -108,11 +108,11 @@ application.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 4d4df6805e49c9f7b3f11592c8c020f41589f5ac..eda3c47ed050265f795fabb53bf269b802821568 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -100,11 +100,11 @@ not seekable.<p>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 4653ae537b634df8f2e76ef7a1eabd129b8d40be..a1be652e8532895f4abc09488873648224c9f3d7 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -73,11 +73,11 @@ int main(){
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 8462b27b76dcd3b853a31fe57a304bca2cdcc5bd..932539eeb556f986ef48d6d85ab107cf9dbf8beb 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -145,11 +145,11 @@ distribution in <a href="chaining_example_c.html">chaining_example.c</a>.
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/crosslap.html b/doc/vorbisfile/crosslap.html
new file mode 100644 (file)
index 0000000..16a768d
--- /dev/null
@@ -0,0 +1,121 @@
+<html>
+
+<head>
+<title>Vorbisfile - Sample Crosslapping</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>What is Crosslapping?</h1>
+
+<p>Crosslapping blends two samples together using a window function,
+such that any sudden discontinuities between the samples that may
+cause clicks or thumps are eliminated or blended away.  The technique
+is nearly identical to how Vorbis internally splices together frames
+of audio data during normal decode.  API functions are provided to <a
+href="ov_crosslap.html">crosslap transitions between seperate
+streams</a>, or to crosslap when <a href="seeking.html">seeking within
+a single stream</a>.
+
+<h1>Why Crosslap?</h1>
+<h2>The source of boundary clicks</h2>
+
+<p>Vorbis is a lossy compression format such that any compressed
+signal is at best a close approximation of the original.  The
+approximation may be very good (ie, indistingushable to the human
+ear), but it is an approximation nonetheless.  Even if a sample or set
+of samples is contructed carefully such that transitions from one to
+another match perfectly in the original, the compression process
+introduces minute amplitude and phase errors.  It's an unavoidable
+result of such high compression rates.
+
+<p>If an application transitions instantly from one sample to another,
+any tiny discrepancy introduced in the lossy compression process
+becomes audible as a stairstep discontinuity.  Even if the discrepancy
+in a normal lapped frame is only .1dB (usually far below the
+threshhold of perception), that's a sudden cliff of 380 steps in a 16
+bit sample (when there's a boundary with no lapping).
+
+<h2>I thought Vorbis was gapless</h2>
+
+<p>It is.  Vorbis introduces no extra samples at the beginning or end
+of a stream, nor does it remove any samples.  Gapless encoding
+eliminates 99% of the click, pop or outright blown speaker that would
+occur if boundaries had gaps or made no effort to align
+transitions. However, gapless encoding is not enough to entirely
+eliminate stairstep discontinuities all the time for exactly the
+reasons described above.
+
+<p>Frame lapping, like Vorbis performs internally during continuous
+playback, is necessary to eliminate that last epislon of trouble.
+
+<h1>Easiest Crosslap</h1>
+
+The easiest way to perform crosslapping in Vorbis is to use the
+lapping functions with no other extra effort.  These functions behave
+identically to when lapping isn't used except to provide
+at-least-very-good lapping results.  Crosslapping will not introduce
+any samples into or remove any samples from the decoded audio; the
+only difference is that the transition is lapped.  Lapping occurs from
+the current PCM position (either in the old stream, or at the position
+prior to calling a lapping seek) forward into the next
+half-short-block of audio data to be read from the new stream or
+position.
+
+<p>Ideally, vorbisfile internally reads an extra frame of audio from
+the old stream/position to perform lapping into the new
+stream/position.  However, automagic crosslapping works properly even
+if the old stream/position is at EOF. In this case, the synthetic
+post-extrapolation generated by the encoder to pad out the last block
+with appropriate data (and avoid encoding a stairstep, which is
+inefficient) is used for crosslapping purposes.  Although this is
+synthetic data, the result is still usually completely unnoticable
+even in careful listening (and always preferable to a click or pop).
+
+<p>Vorbisfile will lap between streams of differing numbers of
+channels. Any extra channels from the old stream are ignored; playback
+of these channels simply ends. Extra channels in the new stream are
+lapped from silence.  Vorbisfile will also lap between streams links
+of differing sample rates.  In this case, the sample rates are ignored
+(no implicit resampling is done to match playback). It is up to the
+application developer to decide if this behavior makes any sense in a
+given context; in practical use, these default behaviors perform
+sensibly.
+
+<h1>Best Crosslap</h1>
+
+<p>To acheive the best possible crosslapping results, avoid the case
+where synthetic extrapolation data is used for crosslapping.  That is,
+design loops and samples such that a little bit of data is left over
+in sample A when seeking to sample B.  Normally, the end of sample A
+and the beginning of B would overlap exactly; this allows
+crosslapping to perform exactly as it would within vorbis when
+stitching audio frames together into continuous decoded audio.
+
+<p>The optimal amount of overlap is half a short-block, and this
+varies by compression mode.  Each encoder will vary in exact block
+size selection; for vorbis 1.0, for -q0 through -q10 and 44kHz or
+greater, a half-short block is 64 samples.
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index 72d7cf3f86468fdf2c2b59bf5638d70e92c232be..07366184de4421a8d5b9bdaf8c2656956406053f 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index e7151dbf7450e42a7b6c7d08de679f4b9ca8224a..7121114404a6d4a8a188c830ce66d7bb7520db92 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -73,11 +73,11 @@ call to <a href="ov_open.html"><tt>ov_open()</tt></a>.</td>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 12977f132b88bfdcc9fc91334a420c170a88577e..3d28e1a1eba30acc2c901a3f2c33adeb3bc75826 100644 (file)
@@ -9,11 +9,11 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
-<h1>Example Code</h1>
+<h1>Decoding Example Code</h1>
 
 <p>
 The following is a run-through of the decoding example program supplied
@@ -192,11 +192,11 @@ Now that we've finished playing, we can pack up and go home.  It's important to
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 1575e2738e2b23bfe9486e95e6a67b955e0c230a..6f8dce379aedce2e4b447fea6fa414940fc856fb 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -26,11 +26,11 @@ Three sample programs are included with the vorbisfile distribution.
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index db9bdbefa5a893873733dce45490965f798b1172..ab55f1448aa9592b30e45a18ba60423ecb3415e4 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>\r
 <tr>\r
 <td><p class=tiny>Vorbisfile documentation</p></td>\r
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>\r
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>\r
 </tr>\r
 </table>\r
 \r
@@ -82,11 +82,11 @@ All libvorbisfile file information routines are declared in "vorbis/vorbisfile.h
 <hr noshade>\r
 <table border=0 width=100%>\r
 <tr valign=top>\r
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>\r
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>\r
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>\r
 </tr><tr>\r
 <td><p class=tiny>Vorbisfile documentation</p></td>\r
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>\r
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>\r
 </tr>\r
 </table>\r
 \r
index 87addd5e90ed3df197520484d0069e3fc6949f1c..27ebd18ba898228b025b02b0ded81555b123fe6a 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -30,17 +30,17 @@ documentation.
 <p>
 <a href="overview.html">API overview</a><br>
 <a href="reference.html">API reference</a><br>
-<a href="example.html">Example code</a><br>
+<a href="exampleindex.html">Code Examples</a><br>
 
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index aa226f1cbfb9807407686c3772878ffafe062d95..173a786832bd62f7eb85fd090cbecfef1ce877f5 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -88,11 +88,11 @@ Finish opening a file after a successful call to <a href="ov_test.html">ov_test(
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index bcfd257c9235d9781baae9f89197b92389247e47..222a4256695e7628d91c0b1c86326c8bb29becc6 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -59,11 +59,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index c35c8cae248d29a02d11412bee85f09e98869655..eb6baa687e36581801c90aebfdabe08404347b1d 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -52,11 +52,11 @@ functions.
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 7742921ac95b942d62c9ce9d5e430630761a520c..8a01daf7219111be1e7edfa9e47e39528a45749c 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -65,11 +65,11 @@ functions.<p>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 82aad05de4ef4c063efc39cf9c883d2ad4f9f595..d5b048e7e232c9a7573ef5aca41e356216c825cd 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -51,11 +51,11 @@ functions.  After <tt>ov_clear</tt> has been called, the structure is deallocate
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 062e8e3dded9cc9dcc47af8936531dbfb7fb8ca0..28aaf31d1cfe6826d34706480dc3f7536ddc6679 100644 (file)
@@ -10,7 +10,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -53,11 +53,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_crosslap.html b/doc/vorbisfile/ov_crosslap.html
new file mode 100644 (file)
index 0000000..768c700
--- /dev/null
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_crosslap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_crosslap()</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>ov_crosslap overlaps and blends the boundary at a transition
+between two seperate streams represented by seperate <a
+href="OggVorbis_File.html">OggVorbis_File</a> structures.  For lapping
+transitions due to seeking within a single stream represented by a
+single <a href="OggVorbis_File.html">OggVorbis_File</a> structure,
+consider using the lapping versions of the <a
+href="seeking.html">vorbisfile seeking functions</a> instead.
+
+<p>ov_crosslap is used between the last (usually ov_read) call on
+the old stream and the first ov_read from the new stream.  Any
+desired positioning of the new stream must occur before the call to
+ov_crosslap() as a seek dumps all prior lapping information from a
+stream's decode state.  Crosslapping does not introduce or remove any
+extraneous samples; positioning works exactly as if ov_crosslap was not
+called.
+
+<p>ov_crosslap will lap between streams of differing numbers of
+channels. Any extra channels from the old stream are ignored; playback
+of these channels simply ends. Extra channels in the new stream are
+lapped from silence.  ov_crosslap will also lap between streams links
+of differing sample rates.  In this case, the sample rates are ignored
+(no implicit resampling is done to match playback). It is up to the
+application developer to decide if this behavior makes any sense in a
+given context; in practical use, these default behaviors perform
+sensibly.
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+long ov_crosslap(<a href="OggVorbis_File.html">OggVorbis_File</a> *old, <a href="OggVorbis_File.html">OggVorbis_File</a> *new);
+
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>old</i></dt>
+<dd>A pointer to the OggVorbis_File structure representing the origin stream from which to transition playback.</dd>
+
+<dt><i>new</i></dt>
+<dd>A pointer to the OggVorbis_File structure representing the stream with which playback continues.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<dl>
+<dt>OV_EINVAL</dt>
+  <dd>crosslap called with an OggVorbis_File structure that isn't open.</dd>
+<dt>OV_EFAULT</dt>
+  <dd>internal error; implies a library bug or external heap corruption.</dd>
+<dt>OV_EREAD</dt>
+  <dd> A read from media returned an error.</dd>
+<dt>OV_EOF</dt>
+  <dd>indicates stream <tt>vf2</tt> is at end of file, or that <tt>vf1</tt> is at end of file immediately after a seek (making crosslap impossible as there's no preceeding decode state to crosslap).</dd>
+<dt><i>0</i></dt>
+  <dd>success.</dd>
+</dl>
+</blockquote>
+
+
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index 51976a0697e4bd6391d9811ed1298ad3af1141f2..c8dd9efff2fe5198f67736812b2f24e423aef1fd 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -51,11 +51,11 @@ functions. </dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 93a096bdbae1e1da5a7f9ae40b35beb5762f78ad..ba5303114b5e30db4d8186f314d8ee2479c06d8d 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -102,11 +102,11 @@ example).  See <a href="threads.html">Thread Safety</a> for other information on
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index c6455a94d9edc924be808b71b65a1974eb347fe7..a823f2edaabe690c20d1abe55afff90531795f1a 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -97,11 +97,11 @@ See <a href="threads.html">Thread Safety</a> for other information on using libv
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index d662966b5e7eced8ab83db6f77d72e71167342cb..3c55469941ba0ce3dafebb0ba04851355e2998c4 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -46,33 +46,35 @@ functions.</dd>
 
 <h3>Return Values</h3>
 <blockquote>
+<ul>
 <li>0 for success</li>
 
 <li>
-nonzero indicates failure, described by several error codes:</li>
-<ul>
-<li>OV_ENOSEEK - Bitstream is not seekable.
-</li>
-<li>OV_EINVAL - Invalid argument value.
-</li>
-<li>OV_EREAD - A read from media returned an error.
-</li>
-<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
                corruption.
-</li>
-<li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
-</li>
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
 </ul></blockquote>
 
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_pcm_seek_lap.html b/doc/vorbisfile/ov_pcm_seek_lap.html
new file mode 100644 (file)
index 0000000..124a7f9
--- /dev/null
@@ -0,0 +1,103 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_pcm_seek_lap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_pcm_seek_lap</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>Seeks to the offset specified (in pcm samples) within the physical bitstream.  This variant of <a
+href="ov_pcm_seek.html">ov_pcm_seek</a> also automatically
+crosslaps the transition from the previous playback position into the
+new playback position in order to eliminate clicking and boundary
+discontinuities.  Otherwise, usage and behavior is identical to <a
+href="ov_pcm_seek.html">ov_pcm_seek</a>.
+
+<p>ov_pcm_seek_lap also updates everything needed within the decoder,
+so you can immediately call <a href="ov_read.html">ov_read()</a> and
+get data from the newly seeked to position.
+
+<p>ov_pcm_seek_lap will lap between logical stream links of differing
+numbers of channels. Any extra channels from the origin of the seek
+are ignored; playback of these channels simply ends. Extra channels at
+the destination are lapped from silence.  ov_pcm_seek_lap will also
+lap between logical stream links of differing sample rates.  In this
+case, the sample rates are ignored (no implicit resampling is done to
+match playback). It is up to the application developer to decide if
+this behavior makes any sense in a given context; in practical use,
+these default behaviors perform sensibly.
+
+<p>This function only works for seekable streams.
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+int ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile
+functions.</dd>
+<dt><i>pos</i></dt>
+<dd>Position in pcm samples to seek to in the bitstream.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<ul>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
+  (making crosslap impossible as there's no preceeding decode state to crosslap).
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index 8f53316024ddcd1e457ced2189d5ec71d306ed8f..5dbda3c0f0b726e6507a66e0d8d1ec9bf46e9df7 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -47,34 +47,35 @@ functions.</dd>
 
 <h3>Return Values</h3>
 <blockquote>
-<li>
-0 for success</li>
+<ul>
+<li>0 for success</li>
 
 <li>
-nonzero indicates failure, described by several error codes:</li>
-<ul>
-<li>OV_ENOSEEK - Bitstream is not seekable.
-</li>
-<li>OV_EINVAL - Invalid argument value.
-</li>
-<li>OV_EREAD - A read from media returned an error.
-</li>
-<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
                corruption.
-</li>
-<li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
-</li>
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
 </ul></blockquote>
 
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_pcm_seek_page_lap.html b/doc/vorbisfile/ov_pcm_seek_page_lap.html
new file mode 100644 (file)
index 0000000..dd81db7
--- /dev/null
@@ -0,0 +1,112 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_pcm_seek_page_lap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_pcm_seek_page_lap</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>Seeks to the closest page preceding the specified location (in pcm
+samples) within the physical bitstream.  This variant of <a
+href="ov_pcm_seek_page.html">ov_pcm_seek_page</a> also automatically
+crosslaps the transition from the previous playback position into the
+new playback position in order to eliminate clicking and boundary
+discontinuities.  Otherwise, usage and behavior is identical to <a
+href="ov_pcm_seek_page.html">ov_pcm_seek_page</a>.
+
+<p>This function is faster than <a
+href="ov_pcm_seek_lap.html">ov_pcm_seek_lap</a> because the function
+can begin decoding at a page boundary rather than seeking through any
+remaining samples before the specified location.  However, it is less
+accurate.
+
+<p>ov_pcm_seek_page_lap also updates everything needed within the
+decoder, so you can immediately call <a
+href="ov_read.html">ov_read()</a> and get data from the newly seeked
+to position.
+
+<p>ov_pcm_seek_page_lap will lap between logical stream links of
+differing numbers of channels. Any extra channels from the origin of
+the seek are ignored; playback of these channels simply ends. Extra
+channels at the destination are lapped from silence.
+ov_pcm_seek_page_lap will also lap between logical stream links of
+differing sample rates.  In this case, the sample rates are ignored
+(no implicit resampling is done to match playback). It is up to the
+application developer to decide if this behavior makes any sense in a
+given context; in practical use, these default behaviors perform
+sensibly.
+
+<p>This function only works for seekable streams.
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+int ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile
+functions.</dd>
+<dt><i>pos</i></dt>
+<dd>Position in pcm samples to seek to in the bitstream.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<ul>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
+  (making crosslap impossible as there's no preceeding decode state to crosslap).
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index e4768ce10593bfa242ed4807806f7c7e816dcaa3..1d8961fae88d09e8fe42cfff8eb96d872292f786 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -50,11 +50,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 9cab16346684555b343b3cf80180d5ce556bfade..02e35cac45eee7127c3563b9ecf9c0c5c393cb08 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -54,11 +54,11 @@ total length in pcm samples of content if i=-1.</li>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 882b7a25fe364ad29e50fe908b999cb61ca0a9eb..1e5fbbec80c92b01ae82637f5b7e0a4f2cb0e3fa 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -45,28 +45,36 @@ functions.</dd>
 
 <h3>Return Values</h3>
 <blockquote>
-<li>0 indicates success</li>
-<li>nonzero indicates failure, described by several error codes:</li>
 <ul>
-<li>OV_ENOSEEK - Bitstream is not seekable.
-</li>
-<li>OV_EINVAL - Invalid argument value.
-</li>
-<li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
-</li>
-</ul>
-</blockquote>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
 <p>
 
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_raw_seek_lap.html b/doc/vorbisfile/ov_raw_seek_lap.html
new file mode 100644 (file)
index 0000000..56c4953
--- /dev/null
@@ -0,0 +1,110 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_raw_seek_lap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_raw_seek_lap</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>Seeks to the offset specified (in compressed raw bytes) within the
+physical bitstream.  This variant of <a
+href="ov_raw_seek.html">ov_raw_seek</a> also automatically crosslaps
+the transition from the previous playback position into the new
+playback position in order to eliminate clicking and boundary
+discontinuities.  Otherwise, usage and behavior is identical to <a
+href="ov_raw_seek.html">ov_raw_seek</a>.
+
+<p>When seek speed is a priority, but crosslapping is still desired,
+this is the best seek funtion to use.
+
+<p>ov_raw_seek_lap also updates everything needed within the decoder,
+so you can immediately call <a href="ov_read.html">ov_read()</a> and
+get data from the newly seeked to position.
+
+<p>ov_raw_seek_lap will lap between logical stream links of differing
+numbers of channels. Any extra channels from the origin of the seek
+are ignored; playback of these channels simply ends. Extra channels at
+the destination are lapped from silence.  ov_raw_seek_lap will also
+lap between logical stream links of differing sample rates.  In this
+case, the sample rates are ignored (no implicit resampling is done to
+match playback). It is up to the application developer to decide if
+this behavior makes any sense in a given context; in practical use,
+these default behaviors perform sensibly.
+
+<p>This function only works for seekable streams.
+
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+int ov_raw_seek_lap(OggVorbis_File *vf,long pos);
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile
+functions.</dd>
+<dt><i>pos</i></dt>
+<dd>Position in compressed bytes to seek to in the bitstream.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<ul>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
+  (making crosslap impossible as there's no preceeding decode state to crosslap).
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
+
+<p>
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index 780efc5f907c7e556d8dc340b7f777a0ceec84e1..ed235108a578b53f2fd7631cf9aeb8b4d418c5e5 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -50,11 +50,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 7a5cee349a46e32fa194387b96221040653aadee..dfb9f9712cd0b3fd9539c5fb2b7b1ea3098e6e6e 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -55,11 +55,11 @@ total length in compressed bytes of content if i=-1.</li>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 1673ea8fcb1ae4c34101d033e3b2be91609f9065..e545f47e0121f064deef4601d1cf28532958d984 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -110,11 +110,11 @@ little-endian samples.
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 0300adf74d0fa25a7e6a32d41e79444ff9b99842..5dc7d57432955f49b6306d62b250de153020ede1 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -88,8 +88,8 @@ This decodes up to 1024 float samples.
 <td><p class=tiny>copyright &copy; 2002 vorbis team</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 3db22b1185da67dbab152620d66cf68f11c010fc..b8f8c9187d6a4158f0bdfed90ef2ee838aaf3724 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -50,11 +50,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 15d920d60dd6b69cdd745ffd8d9afaab55603373..a5f0f0cd9155861e66af84578175b2aa4f3a4eee 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -54,11 +54,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index c04c4cfd41d7254789baea8555bc7cef2c07d8ac..997edccc07be92ba54741a6d814a2baf0a8576ed 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -51,11 +51,11 @@ functions. </dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 8c09e9c8e4fecba0a425a0b865b4d0a3afb5af71..9aa72d1fb2ac7f618d77db949b44d4a89482f30e 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -76,11 +76,11 @@ should contain the length (in bytes) of the buffer.  Used together with <tt>init
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 90f4a93bb210567d2c7d5ba7aa526523efa0b615..edf798b69356abd3a5173ba8a0ea695349f3125a 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -77,11 +77,11 @@ should contain the length (in bytes) of the buffer.  Used together with <tt>init
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 7479a084a24c8043f6b8646a4e0d27cf9cae7c44..c0a320cba4f086054b0fd343323bb8c1efa1c48b 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -62,11 +62,11 @@ struct should be passed to all the libvorbisfile functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 0a4205563a0c198f2d4ff689a0d71df8b9a9aaa6..a4d4071ffb06257e3fcd4695212967aaccc908d5 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -45,23 +45,35 @@ int ov_time_seek(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, double s)
 
 <h3>Return Values</h3>
 <blockquote>
-<li>
-0 for success</li>
+<ul>
+<li>0 for success</li>
 
 <li>
-Nonzero for failure</li>
-</blockquote>
-
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
 
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_time_seek_lap.html b/doc/vorbisfile/ov_time_seek_lap.html
new file mode 100644 (file)
index 0000000..fbb6290
--- /dev/null
@@ -0,0 +1,105 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_time_seek_lap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_time_seek_lap</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>For seekable
+streams, ov_time_seek_lap seeks to the given time. This variant of <a
+href="ov_time_seek.html">ov_time_seek</a> also automatically
+crosslaps the transition from the previous playback position into the
+new playback position in order to eliminate clicking and boundary
+discontinuities.  Otherwise, usage and behavior is identical to <a
+href="ov_time_seek.html">ov_time_seek</a>.
+
+<p>ov_time_seek_lap also updates everything needed within the decoder,
+so you can immediately call <a href="ov_read.html">ov_read()</a> and
+get data from the newly seeked to position.
+
+<p>ov_time_seek_lap will lap between logical stream links of differing
+numbers of channels. Any extra channels from the origin of the seek
+are ignored; playback of these channels simply ends. Extra channels at
+the destination are lapped from silence.  ov_time_seek_lap will also
+lap between logical stream links of differing sample rates.  In this
+case, the sample rates are ignored (no implicit resampling is done to
+match playback). It is up to the application developer to decide if
+this behavior makes any sense in a given context; in practical use,
+these default behaviors perform sensibly.
+
+<p> This function does not work for unseekable streams.
+
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+int ov_time_seek_lap(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, double s);
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>Pointer to our already opened and initialized OggVorbis_File structure.</dd>
+<dt><i>ms</i></dt>
+<dd>Location to seek to within the file, specified in seconds.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<ul>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
+  (making crosslap impossible as there's no preceeding decode state to crosslap).
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
+
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index 4a5a24de99649fbfaa80b2f7132dae261567e582..87904227e16ec402452bf02a4628604e45d7f7b4 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -46,35 +46,35 @@ int ov_time_seek_page(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, doub
 
 <h3>Return Values</h3>
 <blockquote>
-<li>
-0 for success</li>
+<ul>
+<li>0 for success</li>
 
 <li>
-nonzero indicates failure, described by several error codes:</li>
-<ul>
-<li>OV_ENOSEEK - Bitstream is not seekable.
-</li>
-<li>OV_EINVAL - Invalid argument value.
-</li>
-<li>OV_EREAD - A read from media returned an error.
-</li>
-<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
                corruption.
-</li>
-<li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
-</li>
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
 </ul></blockquote>
 
-
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
diff --git a/doc/vorbisfile/ov_time_seek_page_lap.html b/doc/vorbisfile/ov_time_seek_page_lap.html
new file mode 100644 (file)
index 0000000..003db33
--- /dev/null
@@ -0,0 +1,112 @@
+<html>
+
+<head>
+<title>Vorbisfile - function - ov_time_seek_page_lap</title>
+<link rel=stylesheet href="style.css" type="text/css">
+</head>
+
+<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
+<table border=0 width=100%>
+<tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+<h1>ov_time_seek_page_lap</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>For seekable streams, ov_time_seek_page_lap seeks to the closest
+full page preceeding the given time.  This variant of <a
+href="ov_time_seek_page.html">ov_time_seek_page</a> also automatically
+crosslaps the transition from the previous playback position into the
+new playback position in order to eliminate clicking and boundary
+discontinuities.  Otherwise, usage and behavior is identical to <a
+href="ov_time_seek_page.html">ov_time_seek_page</a>.
+
+<p>ov_time_seek_page_lap is faster than <a
+href="ov_time_seek_lap.html">ov_time_seek_lap</a> because it doesn't
+seek through the last few samples to reach an exact time, but it is
+also less accurate.  This should be used when speed is important, but
+crosslapping is still desired.
+
+<p>ov_time_seek_page_lap also updates everything needed within the
+decoder, so you can immediately call <a
+href="ov_read.html">ov_read()</a> and get data from the newly seeked
+to position.
+
+<p>ov_time_seek_page_lap will lap between logical stream links of
+differing numbers of channels. Any extra channels from the origin of
+the seek are ignored; playback of these channels simply ends. Extra
+channels at the destination are lapped from silence.
+ov_time_seek_page_lap will also lap between logical stream links of
+differing sample rates.  In this case, the sample rates are ignored
+(no implicit resampling is done to match playback). It is up to the
+application developer to decide if this behavior makes any sense in a
+given context; in practical use, these default behaviors perform
+sensibly.
+
+<p>This function does not work for unseekable streams.
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+       <td>
+<pre><b>
+int ov_time_seek_page_lap(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, double s);
+</b></pre>
+       </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>Pointer to our already opened and initialized OggVorbis_File structure.</dd>
+<dt><i>ms</i></dt>
+<dd>Location to seek to within the file, specified in seconds.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<ul>
+<li>0 for success</li>
+
+<li>
+nonzero indicates failure, described by several error codes:
+  <ul>
+  <li>OV_ENOSEEK - Bitstream is not seekable.
+  </li>
+  <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
+  </li>
+  <li>OV_EREAD - A read from media returned an error.
+  </li>
+  <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
+               corruption.
+  </li>
+  <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
+  (making crosslap impossible as there's no preceeding decode state to crosslap).
+  </li>
+  <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
+  </li>
+  </ul></li>
+</ul></blockquote>
+
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+</tr><tr>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
+</tr>
+</table>
+
+</body>
+
+</html>
index fc2179db375f698aacf097f3260468928e3c330a..e2c0af56f44f0f8b09f1f8080a0368acc774485e 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -50,11 +50,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index a4c904e4617f9f1d7d93229f98d238c56fa06462..a0dcae154b3d77d49a5d407f2bc5331f4036418e 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -54,11 +54,11 @@ functions.</dd>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index bc1a790c771db9ac026a1665913b4ef6ef153ee6..8fe77e9b49d2c9648522b1e54ce5b9a869cbcd49 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -38,6 +38,7 @@ the above general overview:
 <li><p><a href="threads.html">Threading and thread safety</a>
 <li><p><a href="callbacks.html">Using [non stdio] custom stream I/O
 via callbacks</a>
+<li><p><a href="crosslap.html">Sample crosslapping</a>
 </ul>
 <p>
 
@@ -46,11 +47,11 @@ via callbacks</a>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 6ee1ee24346d7f173d87d0a71dd0fd800b3d388d..4fda3953edd26c373185779d21077e11902d9d4e 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
 <br>
 <b>Decoding</b><br>
 <a href="ov_read.html">ov_read()</a><br>
+<a href="ov_crosslap.html">ov_crosslap()</a><br>
 <br>
 <b>Seeking</b><br>
 <a href="ov_raw_seek.html">ov_raw_seek()</a><br>
 <a href="ov_pcm_seek.html">ov_pcm_seek()</a><br>
 <a href="ov_time_seek.html">ov_time_seek()</a><br>
 <a href="ov_pcm_seek_page.html">ov_pcm_seek_page()</a><br>
-<a href="ov_time_seek_page.html">ov_time_seek_page()</a><br>
+<a href="ov_time_seek_page.html">ov_time_seek_page()</a><p>
+<a href="ov_raw_seek_lap.html">ov_raw_seek_lap()</a><br>
+<a href="ov_pcm_seek_lap.html">ov_pcm_seek_lap()</a><br>
+<a href="ov_time_seek_lap.html">ov_time_seek_lap()</a><br>
+<a href="ov_pcm_seek_page_lap.html">ov_pcm_seek_page_lap()</a><br>
+<a href="ov_time_seek_page_lap.html">ov_time_seek_page_lap()</a><br>
 <br>
 <b>File Information</b><br>
 <a href="ov_bitrate.html">ov_bitrate()</a><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 449441387036ed4b8c70e97881ad961ab6ca39f2..8aa4691ad2f72de54a36a0746c3611ed3e41be0b 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -64,11 +64,11 @@ is normally automatic and this return code is for informational purposes only.</
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 1c5e36b3bd51559cc96798dc01658e219a3d8a18..664ddcd8c594a8d3d5dce88bacceef6381b72dc4 100644 (file)
@@ -8,12 +8,12 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
-<h1>Example Code</h1>
+<h1>Example Code: seeking</h1>
 
 <p>
 The following is a run-through of the seeking example program supplied
@@ -38,7 +38,7 @@ First, relevant headers, including vorbis-specific "codec.h" and "vorbisfile.h"
 </tr>
 </table>
 
-<p>Inside main(), we declare our primary OggVorbis_File structure.  We also declare other helpful variables to track our progress within the file.
+<p>Inside main(), we declare our primary OggVorbis_File structure.  We also declare other helpful variables to track our progress within the file.
 <br><br>
 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -126,11 +126,11 @@ distribution in <a href="seeking_test_c.html">seeking_test.c</a>.
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index a0adaefac51f5abb59ec321e604e1ad7784fe180..e570d5a02f668529959115748b8a1fb42e7179f8 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>\r
 <tr>\r
 <td><p class=tiny>Vorbisfile documentation</p></td>\r
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>\r
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>\r
 </tr>\r
 </table>\r
 \r
@@ -26,7 +26,18 @@ be surprised if a file begins at a positive offset of several minutes
 or hours, such as would happen if a large stream (such as a concert\r
 recording) is chopped into multiple separate files.  Requesting to\r
 seek to a position before the beginning of such a file will seek to\r
-the position where audio begins.<p>\r
+the position where audio begins.\r
+\r
+<p>As of vorbisfile version 1.68, seeking also optionally provides\r
+automatic crosslapping to eliminate clicks and other discontinuity\r
+artifacts at seeking boundaries.  This fetaure is of particular\r
+interest to player and game developers implementing dynamic music and\r
+audio engines, or others looking for smooth transitions within a\r
+single sample or across multiple samples.<p>\r
+\r
+<p>Naturally, seeking is available only within a seekable file or\r
+stream.  Seeking functions will return <tt>OV_ENOSEEK</tt> on\r
+nonseekable files and streams.\r
 \r
 </ul>\r
 \r
@@ -55,17 +66,39 @@ the position where audio begins.<p>
        <td><a href="ov_time_seek_page.html">ov_time_seek_page</a></td>\r
        <td>This function seeks to the closest page preceding the specified time position in the bitstream</td>\r
 </tr>\r
+\r
+</tr>\r
+<tr valign=top>\r
+       <td><a href="ov_raw_seek_lap.html">ov_raw_seek_lap</a></td>\r
+       <td>This function seeks to a position specified in the compressed bitstream, specified in bytes.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities. </td>\r
+</tr>\r
+<tr valign=top>\r
+       <td><a href="ov_pcm_seek_lap.html">ov_pcm_seek_lap</a></td>\r
+       <td>This function seeks to a specific audio sample number, specified in pcm samples.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>\r
+</tr>\r
+<tr valign=top>\r
+       <td><a href="ov_pcm_seek_page_lap.html">ov_pcm_seek_page_lap</a></td>\r
+       <td>This function seeks to the closest page preceding the specified audio sample number, specified in pcm samples.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>\r
+</tr>\r
+<tr valign=top>\r
+       <td><a href="ov_time_seek_lap.html">ov_time_seek_lap</a></td>\r
+       <td>This function seeks to the specific time location in the bitstream, specified in seconds.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities. </td>\r
+</tr>\r
+<tr valign=top>\r
+       <td><a href="ov_time_seek_page_lap.html">ov_time_seek_page_lap</a></td>\r
+       <td>This function seeks to the closest page preceding the specified time position in the bitstream.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>\r
+</tr>\r
 </table>\r
 \r
 <br><br>\r
 <hr noshade>\r
 <table border=0 width=100%>\r
 <tr valign=top>\r
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>\r
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>\r
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>\r
 </tr><tr>\r
 <td><p class=tiny>Vorbisfile documentation</p></td>\r
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>\r
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>\r
 </tr>\r
 </table>\r
 \r
index 0ffcf821a4bd475cc6866af30fb4490d958ddc1d..87c47e893acb6ddd322d54a914948d92304ca318 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -70,11 +70,11 @@ int main(){
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 0ffcf821a4bd475cc6866af30fb4490d958ddc1d..87c47e893acb6ddd322d54a914948d92304ca318 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -70,11 +70,11 @@ int main(){
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index f10e836479e5482ce81e8ee234aaed010deb37b8..f3acc828146fe3550a0760092a142b52506a760f 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -37,11 +37,11 @@ href="OggVorbis_File.html">OggVorbis_File</a> instance may be used safely from m
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 578c1859f43170083ab042fa47e74082f29587ca..cf367865e70c41737f703f919e544aaf44379b78 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -57,11 +57,11 @@ or set to some reasonable default (usually 0).
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index 893e453a6acc98f55d38a68f718aabeb707f1360..f97eedcb7a8a063cc0153ad0dc6b4256f2a7a522 100644 (file)
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -67,11 +67,11 @@ The vorbis_info structure contains basic information about the audio in a vorbis
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
-<td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
index dd15623a91008856932c01d17cd1c73dd93a12b4..bdb9f615597928a85539234ed66b9e6a876e473c 100644 (file)
@@ -8,8 +8,8 @@
 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
 <table border=0 width=100%>
 <tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>
 
@@ -72,7 +72,7 @@ int main(int argc, char **argv){
         case we (the app) cares.  In this case, we don't. */
     } else {
       /* we don't bother dealing with sample rate changes, etc, but
-        you'll have to*/
+        you'll have to */
       fwrite(pcmout,1,ret,stdout);
     }
   }
@@ -93,11 +93,11 @@ int main(int argc, char **argv){
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 vorbis team</p></td>
+<td><p class=tiny>copyright &copy; 2003 Xiph.org</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
 </tr><tr>
-<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td><p class=tiny>Vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
 </tr>
 </table>