1<html> 2 3<head> 4<title>Vorbisfile - function - ov_test</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.2.0 - 20070723</p></td> 13</tr> 14</table> 15 16<h1>ov_test</h1> 17 18<p><i>declared in "vorbis/vorbisfile.h";</i></p> 19 20<p> 21This partially opens a vorbis file to test for Vorbis-ness. It loads 22the headers for the first chain and tests for seekability (but does not seek). 23Use <a href="ov_test_open.html">ov_test_open()</a> to finish opening the file 24or <a href="ov_clear.html">ov_clear</a> to close/free it. 25<p> 26 27<p><em><b> WARNING for Windows developers: </b> Do not use ov_test() 28in Windows applications; Windows linking places restrictions on 29passing <tt>FILE *</tt> handles successfully, and ov_test() runs afoul 30of these restrictions <a href="#winfoot">[a]</a> in exactly the same 31way as <a href="ov_open.html">ov_open()</a>. See the <a 32href="ov_test_callbacks.html">ov_test_callbacks() page </a> for 33details on using <a 34href="ov_test_callbacks.html">ov_test_callbacks()</a> instead. </em> 35<p> 36 37<table border=0 color=black cellspacing=0 cellpadding=7> 38<tr bgcolor=#cccccc> 39 <td> 40<pre><b> 41int ov_test(FILE *f,<a href="OggVorbis_File.html">OggVorbis_File</a> *vf,char *initial,long ibytes); 42</b></pre> 43 </td> 44</tr> 45</table> 46 47<h3>Parameters</h3> 48<dl> 49<dt><i>f</i></dt> 50<dd>File pointer to an already opened file 51or pipe (it need not be seekable--though this obviously restricts what 52can be done with the bitstream).</dd> 53<dt><i>vf</i></dt> 54<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisfile 55functions. Once this has been called, the same <tt>OggVorbis_File</tt> 56struct should be passed to all the libvorbisfile functions.</dd> 57<dt><i>initial</i></dt> 58<dd>Typically set to NULL. This parameter is useful if some data has already been 59read from the file and the stream is not seekable. It is used in conjunction with <tt>ibytes</tt>. In this case, <tt>initial</tt> 60should be a pointer to a buffer containing the data read.</dd> 61<dt><i>ibytes</i></dt> 62<dd>Typically set to 0. This parameter is useful if some data has already been 63read from the file and the stream is not seekable. In this case, <tt>ibytes</tt> 64should contain the length (in bytes) of the buffer. Used together with <tt>initial</tt></dd> 65</dl> 66 67 68<h3>Return Values</h3> 69<blockquote> 70<li>0 for success</li> 71 72<li>less than zero for failure:</li> 73<ul> 74<li>OV_EREAD - A read from media returned an error.</li> 75<li>OV_ENOTVORBIS - Bitstream contains no Vorbis data.</li> 76<li>OV_EVERSION - Vorbis version mismatch.</li> 77<li>OV_EBADHEADER - Invalid Vorbis bitstream header.</li> 78<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li> 79</ul> 80</blockquote> 81<p> 82 83<h3>Notes</h3> 84 85All the <a href="ov_open.html#notes">notes from ov_open()</a> apply to ov_test(). 86 87<br><br> 88<hr noshade> 89<table border=0 width=100%> 90<tr valign=top> 91<td><p class=tiny>copyright © 2007 Xiph.org</p></td> 92<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> 93</tr><tr> 94<td><p class=tiny>Vorbisfile documentation</p></td> 95<td align=right><p class=tiny>vorbisfile version 1.2.0 - 20070723</p></td> 96</tr> 97</table> 98 99</body> 100 101</html> 102