summaryrefslogtreecommitdiff
path: root/doc/OggVorbis_File.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/OggVorbis_File.html')
-rw-r--r--doc/OggVorbis_File.html132
1 files changed, 132 insertions, 0 deletions
diff --git a/doc/OggVorbis_File.html b/doc/OggVorbis_File.html
new file mode 100644
index 0000000..9201d18
--- /dev/null
+++ b/doc/OggVorbis_File.html
@@ -0,0 +1,132 @@
+<html>
+
+<head>
+<title>Tremor - datatype - OggVorbis_File</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>OggVorbis_File</h1>
+
+<p><i>declared in "ivorbisfile.h"</i></p>
+
+<p>
+The OggVorbis_File structure defines an Ogg Vorbis file.
+<p>
+
+This structure is used in all libvorbisidec routines. Before it can be used,
+it must be initialized by <a href="ov_open.html">ov_open()</a> or <a
+href="ov_open_callbacks.html">ov_open_callbacks()</a>.
+
+<p>
+After use, the OggVorbis_File structure must be deallocated with a
+call to <a href="ov_clear.html">ov_clear()</a>.
+
+<p>
+Once a file or data source is opened successfully by libvorbisidec
+(using <a href="ov_open.html">ov_open()</a> or <a
+href="ov_open_callbacks.html">ov_open_callbacks()</a>), it is owned by
+libvorbisidec. The file should not be used by any other applications or
+functions outside of the libvorbisidec API. The file must not be closed
+directly by the application at any time after a successful open;
+libvorbisidec expects to close the file within <a
+href="ov_clear.html">ov_clear()</a>.
+<p>
+If the call to <a href="ov_open.html">ov_open()</a> or <a
+href="ov_open_callbacks.html">ov_open_callbacks()</a> <b>fails</b>,
+libvorbisidec does <b>not</b> assume ownership of the file and the
+application is expected to close it if necessary.
+
+<br><br>
+<table border=0 width=100% color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+ <td>
+<pre><b>typedef struct {
+ void *datasource; /* Pointer to a FILE *, etc. */
+ int seekable;
+ ogg_int64_t offset;
+ ogg_int64_t end;
+ ogg_sync_state oy;
+
+ /* If the FILE handle isn't seekable (eg, a pipe), only the current
+ stream appears */
+ int links;
+ ogg_int64_t *offsets;
+ ogg_int64_t *dataoffsets;
+ long *serialnos;
+ ogg_int64_t *pcmlengths;
+ vorbis_info *vi;
+ vorbis_comment *vc;
+
+ /* Decoding working state local storage */
+ ogg_int64_t pcm_offset;
+ int ready_state;
+ long current_serialno;
+ int current_link;
+
+ ogg_int64_t bittrack;
+ ogg_int64_t samptrack;
+
+ ogg_stream_state os; /* take physical pages, weld into a logical
+ stream of packets */
+ vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
+ vorbis_block vb; /* local working space for packet->PCM decode */
+
+ <a href="ov_callbacks.html">ov_callbacks</a> callbacks;
+
+} OggVorbis_File;</b></pre>
+ </td>
+</tr>
+</table>
+
+<h3>Relevant Struct Members</h3>
+<dl>
+<dt><i>datasource</i></dt>
+
+<dd>Pointer to file or other ogg source. When using stdio based
+file/stream access, this field contains a <tt>FILE</tt> pointer. When using
+custom IO via callbacks, libvorbisidec treats this void pointer as a
+black box only to be passed to the callback routines provided by the
+application.</dd>
+
+<dt><i>seekable</i></dt>
+<dd>Read-only int indicating whether file is seekable. E.g., a physical file is seekable, a pipe isn't.</dd>
+<dt><i>links</i></dt>
+<dd>Read-only int indicating the number of logical bitstreams within the physical bitstream.</dd>
+<dt><i>ov_callbacks</i></dt>
+<dd>Collection of file manipulation routines to be used on this data source. When using stdio/FILE access via <a href="ov_open.html">ov_open()</a>, the callbacks will be filled in with stdio calls or wrappers to stdio calls.</dd>
+</dl>
+
+<h3>Notes</h3>
+
+<p>Tremor requires a native 64 bit integer type to compile and
+function; The GNU build system will locate and typedef
+<tt>ogg_int64_t</tt> to the appropriate native type. If not using the
+GNU build tools, you will need to define <tt>ogg_int64_t</tt> as a
+64-bit type inside your system's project file/Makefile, etc. On win32,
+for example, this should be defined as <tt>__int64</tt>.
+<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>