6310e427bf8295158b7d8b98b7495f5f6633d8c6
[platform/upstream/libvorbis.git] / doc / vorbisfile / ov_pcm_seek_lap.html
1 <html>
2
3 <head>
4 <title>Vorbisfile - function - ov_pcm_seek_lap</title>
5 <link rel=stylesheet href="style.css" type="text/css">
6 </head>
7
8 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
9 <table border=0 width=100%>
10 <tr>
11 <td><p class=tiny>Vorbisfile documentation</p></td>
12 <td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
13 </tr>
14 </table>
15
16 <h1>ov_pcm_seek_lap</h1>
17
18 <p><i>declared in "vorbis/vorbisfile.h";</i></p>
19
20 <p>Seeks to the offset specified (in pcm samples) within the physical bitstream.  This variant of <a
21 href="ov_pcm_seek.html">ov_pcm_seek</a> also automatically
22 crosslaps the transition from the previous playback position into the
23 new playback position in order to eliminate clicking and boundary
24 discontinuities.  Otherwise, usage and behavior is identical to <a
25 href="ov_pcm_seek.html">ov_pcm_seek</a>.
26
27 <p>ov_pcm_seek_lap also updates everything needed within the decoder,
28 so you can immediately call <a href="ov_read.html">ov_read()</a> and
29 get data from the newly seeked to position.
30
31 <p>ov_pcm_seek_lap will lap between logical stream links of differing
32 numbers of channels. Any extra channels from the origin of the seek
33 are ignored; playback of these channels simply ends. Extra channels at
34 the destination are lapped from silence.  ov_pcm_seek_lap will also
35 lap between logical stream links of differing sample rates.  In this
36 case, the sample rates are ignored (no implicit resampling is done to
37 match playback). It is up to the application developer to decide if
38 this behavior makes any sense in a given context; in practical use,
39 these default behaviors perform sensibly.
40
41 <p>This function only works for seekable streams.
42
43 <br><br>
44 <table border=0 color=black cellspacing=0 cellpadding=7>
45 <tr bgcolor=#cccccc>
46         <td>
47 <pre><b>
48 int ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
49 </b></pre>
50         </td>
51 </tr>
52 </table>
53
54 <h3>Parameters</h3>
55 <dl>
56 <dt><i>vf</i></dt>
57 <dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile
58 functions.</dd>
59 <dt><i>pos</i></dt>
60 <dd>Position in pcm samples to seek to in the bitstream.</dd>
61 </dl>
62
63
64 <h3>Return Values</h3>
65 <blockquote>
66 <ul>
67 <li>0 for success</li>
68
69 <li>
70 nonzero indicates failure, described by several error codes:
71   <ul>
72   <li>OV_ENOSEEK - Bitstream is not seekable.
73   </li>
74   <li>OV_EINVAL - Invalid argument value; possibly called with an OggVorbis_File structure that isn't open.
75   </li>
76   <li>OV_EREAD - A read from media returned an error.
77   </li>
78   <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack 
79                 corruption.
80   </li>
81   <li>OV_EOF - Indicates stream is at end of file immediately after a seek 
82   (making crosslap impossible as there's no preceeding decode state to crosslap).
83   </li>
84   <li>OV_EBADLINK - Invalid stream section supplied to libvorbisfile, or the requested link is corrupt. 
85   </li>
86   </ul></li>
87 </ul></blockquote>
88
89 <br><br>
90 <hr noshade>
91 <table border=0 width=100%>
92 <tr valign=top>
93 <td><p class=tiny>copyright &copy; 2000-2010 Xiph.Org</p></td>
94 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
95 </tr><tr>
96 <td><p class=tiny>Vorbisfile documentation</p></td>
97 <td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
98 </tr>
99 </table>
100
101 </body>
102
103 </html>