<html>

<head>
<title>Tremor - function - ov_time_total</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>Tremor documentation</p></td>
<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td>
</tr>
</table>

<h1>ov_time_total</h1>

<p><i>declared in "ivorbisfile.h";</i></p>


<p>Returns the total time in seconds of the physical bitstream or a specified logical bitstream.


<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>
ogg_int64_t ov_time_total(OggVorbis_File *vf,int i);
</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 libvorbisidec
functions.</dd>
<dt><i>i</i></dt>
<dd>Link to the desired logical bitstream.  To retrieve the time total for the entire physical bitstream, this parameter should be set to -1.</b></dd>
</dl>


<h3>Return Values</h3>
<blockquote>
<li>OV_EINVAL means that the argument was invalid.  In this case, the requested bitstream did not exist or the bitstream is nonseekable.</li>
<li><tt>n</tt> total length in milliseconds of content if i=-1.</li>
<li><tt>n</tt> length in milliseconds of logical bitstream if i=1 to n.</li>
</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 align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Tremor documentation</p></td>
<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td>
</tr>
</table>

</body>

</html>
