• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 &copy; 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