00001 <html> 00002 00003 <head> 00004 <title>Vorbisfile - datatype - ov_callbacks</title> 00005 <link rel=stylesheet href="style.css" type="text/css"> 00006 </head> 00007 00008 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff"> 00009 <table border=0 width=100%> 00010 <tr> 00011 <td><p class=tiny>Vorbisfile documentation</p></td> 00012 <td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td> 00013 </tr> 00014 </table> 00015 00016 <h1>ov_callbacks</h1> 00017 00018 <p><i>declared in "vorbis/codec.h"</i></p> 00019 00020 <p> 00021 The ov_callbacks structure contains file manipulation function prototypes necessary for opening, closing, seeking, and location. 00022 00023 <p> 00024 The ov_callbacks structure does not need to be user-defined if you are 00025 working with stdio-based file manipulation; the <a 00026 href="ov_open.html">ov_open()</a> call provides default callbacks for 00027 stdio. ov_callbacks are defined and passed to <a 00028 href="ov_open_callbacks.html">ov_open_callbacks()</a> when 00029 implementing non-stdio based stream manipulation (such as playback 00030 from a memory buffer). 00031 <p> 00032 00033 <table border=0 width=100% color=black cellspacing=0 cellpadding=7> 00034 <tr bgcolor=#cccccc> 00035 <td> 00036 <pre><b>typedef struct { 00037 size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource); 00038 int (*seek_func) (void *datasource, ogg_int64_t offset, int whence); 00039 int (*close_func) (void *datasource); 00040 long (*tell_func) (void *datasource); 00041 } ov_callbacks;</b></pre> 00042 </td> 00043 </tr> 00044 </table> 00045 00046 <h3>Relevant Struct Members</h3> 00047 <dl> 00048 <dt><i>read_func</i></dt> 00049 <dd>Pointer to custom data reading function.</dd> 00050 <dt><i>seek_func</i></dt> 00051 <dd>Pointer to custom data seeking function. If the data source is not seekable (or the application wants the data source to be treated as unseekable at all times), the provided seek callback should always return -1 (failure).</dd> 00052 <dt><i>close_func</i></dt> 00053 <dd>Pointer to custom data source closure function.</dd> 00054 <dt><i>tell_func</i></dt> 00055 <dd>Pointer to custom data location function.</dd> 00056 </dl> 00057 00058 <p> 00059 00060 See <a href="callbacks.html">the callbacks and non-stdio I/O document</a> for more 00061 detailed information on required behavior of the various callback 00062 functions.<p> 00063 00064 <br><br> 00065 <hr noshade> 00066 <table border=0 width=100%> 00067 <tr valign=top> 00068 <td><p class=tiny>copyright © 2003 Xiph.org</p></td> 00069 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> 00070 </tr><tr> 00071 <td><p class=tiny>Vorbisfile documentation</p></td> 00072 <td align=right><p class=tiny>vorbisfile version 1.68 - 20030307</p></td> 00073 </tr> 00074 </table> 00075 00076 </body> 00077 00078 </html>