1<html> 2 3<head> 4<title>Tremor - function - ov_test_callbacks</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>Tremor documentation</p></td> 12<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 13</tr> 14</table> 15 16<h1>ov_test_callbacks</h1> 17 18<p><i>declared in "ivorbisfile.h";</i></p> 19 20<p>This is an alternative function used to open and test an OggVorbis_File 21structure when using a data source other than a file. It allows you to specify custom file manipulation routines and sets up all the related decoding structures. 22<p>Once this has been called, the same <tt>OggVorbis_File</tt> 23struct should be passed to all the libvorbisidec functions. 24<p> 25<br><br> 26<table border=0 color=black cellspacing=0 cellpadding=7> 27<tr bgcolor=#cccccc> 28 <td> 29<pre><b> 30int ov_test_callbacks(void *datasource, <a href="OggVorbis_File.html">OggVorbis_File</a> *vf, char *initial, long ibytes, <a href="ov_callbacks.html">ov_callbacks</a> callbacks); 31</b></pre> 32 </td> 33</tr> 34</table> 35 36<h3>Parameters</h3> 37<dl> 38<dt><i>f</i></dt> 39<dd>File pointer to an already opened file 40or pipe (it need not be seekable--though this obviously restricts what 41can be done with the bitstream).</dd> 42<dt><i>vf</i></dt> 43<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible libvorbisidec 44functions. Once this has been called, the same <tt>OggVorbis_File</tt> 45struct should be passed to all the libvorbisidec functions.</dd> 46<dt><i>initial</i></dt> 47<dd>Typically set to NULL. This parameter is useful if some data has already been 48read from the file and the stream is not seekable. It is used in conjunction with <tt>ibytes</tt>. In this case, <tt>initial</tt> 49should be a pointer to a buffer containing the data read.</dd> 50<dt><i>ibytes</i></dt> 51<dd>Typically set to 0. This parameter is useful if some data has already been 52read from the file and the stream is not seekable. In this case, <tt>ibytes</tt> 53should contain the length (in bytes) of the buffer. Used together with <tt>initial</tt>.</dd> 54<dt><i>callbacks</i></dt> 55<dd>Pointer to a completed <a href="ov_callbacks.html">ov_callbacks</a> struct which indicates desired custom file manipulation routines.</dd> 56</dl> 57 58 59<h3>Return Values</h3> 60<blockquote> 61<li>0 for success</li> 62<li>less than zero for failure:</li> 63<ul> 64<li>OV_EREAD - A read from media returned an error.</li> 65<li>OV_ENOTVORBIS - Bitstream is not Vorbis data.</li> 66<li>OV_EVERSION - Vorbis version mismatch.</li> 67<li>OV_EBADHEADER - Invalid Vorbis bitstream header.</li> 68<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li> 69</ul> 70</blockquote> 71<p> 72 73 74 75 76<br><br> 77<hr noshade> 78<table border=0 width=100%> 79<tr valign=top> 80<td><p class=tiny>copyright © 2002 Xiph.org</p></td> 81<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> 82</tr><tr> 83<td><p class=tiny>Tremor documentation</p></td> 84<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 85</tr> 86</table> 87 88</body> 89 90</html> 91