00001 <html>
00002
00003 <head>
00004 <title>Vorbisfile - function - ov_pcm_seek_page_lap</title>
00005 <link rel=stylesheet href="style.css" type="text/css">
00006 </head>
00007
00008 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
00009 <table border=0 width=100%>
00010 <tr>
00011 <td><p class=tiny>Vorbisfile documentation</p></td>
00012 <td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
00013 </tr>
00014 </table>
00015
00016 <h1>ov_pcm_seek_page_lap</h1>
00017
00018 <p><i>declared in "vorbis/vorbisfile.h";</i></p>
00019
00020 <p>Seeks to the closest page preceding the specified location (in pcm
00021 samples) within the physical bitstream. This variant of <a
00022 href="ov_pcm_seek_page.html">ov_pcm_seek_page</a> also automatically
00023 crosslaps the transition from the previous playback position into the
00024 new playback position in order to eliminate clicking and boundary
00025 discontinuities. Otherwise, usage and behavior is identical to <a
00026 href="ov_pcm_seek_page.html">ov_pcm_seek_page</a>.
00027
00028 <p>This function is faster than <a
00029 href="ov_pcm_seek_lap.html">ov_pcm_seek_lap</a> because the function
00030 can begin decoding at a page boundary rather than seeking through any
00031 remaining samples before the specified location. However, it is less
00032 accurate.
00033
00034 <p>ov_pcm_seek_page_lap also updates everything needed within the
00035 decoder, so you can immediately call <a
00036 href="ov_read.html">ov_read()</a> and get data from the newly seeked
00037 to position.
00038
00039 <p>ov_pcm_seek_page_lap will lap between logical stream links of
00040 differing numbers of channels. Any extra channels from the origin of
00041 the seek are ignored; playback of these channels simply ends. Extra
00042 channels at the destination are lapped from silence.
00043 ov_pcm_seek_page_lap will also lap between logical stream links of
00044 differing sample rates. In this case, the sample rates are ignored
00045 (no implicit resampling is done to match playback). It is up to the
00046 application developer to decide if this behavior makes any sense in a
00047 given context; in practical use, these default behaviors perform
00048 sensibly.
00049
00050 <p>This function only works for seekable streams.
00051
00052 <br><br>
00053 <table border=0 color=black cellspacing=0 cellpadding=7>
00054 <tr bgcolor=#cccccc>
00055 <td>
00056 <pre><b>
00057 int ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
00058 </b></pre>
00059 </td>
00060 </tr>
00061 </table>
00062
00063 <h3>Parameters</h3>
00064 <dl>
00065 <dt><i>vf</i></dt>
00066 <dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile
00067 functions.</dd>
00068 <dt><i>pos</i></dt>
00069 <dd>Position in pcm samples to seek to in the bitstream.</dd>
00070 </dl>
00071
00072
00073 <h3>Return Values</h3>
00074 <blockquote>
00075 <ul>
00076 <li>0 for success</li>
00077
00078 <li>
00079 nonzero indicates failure, described by several error codes:
00080 <ul>
00081 <li>OV_ENOSEEK - Bitstream is not seekable.
00082 </li>
00083 <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
00084 </li>
00085 <li>OV_EREAD - A read from media returned an error.
00086 </li>
00087 <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack
00088 corruption.
00089 </li>
00090 <li>OV_EOF - Indicates stream is at end of file immediately after a seek
00091 (making crosslap impossible as there's no preceeding decode state to crosslap).
00092 </li>
00093 <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt.
00094 </li>
00095 </ul></li>
00096 </ul></blockquote>
00097
00098 <br><br>
00099 <hr noshade>
00100 <table border=0 width=100%>
00101 <tr valign=top>
00102 <td><p class=tiny>copyright © 2003 Xiph.org</p></td>
00103 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
00104 </tr><tr>
00105 <td><p class=tiny>Vorbisfile documentation</p></td>
00106 <td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td>
00107 </tr>
00108 </table>
00109
00110 </body>
00111
00112 </html>