summaryrefslogtreecommitdiffhomepage
path: root/contrib/vorbis/doc/vorbisfile/ov_time_seek_lap.html
blob: f300f3b216ced27912a5de61421d671a233b8e79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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.3.2 - 20101101</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>pos</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; 2000-2010 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.3.2 - 20101101</p></td>
</tr>
</table>

</body>

</html>