VirtualBox

source: vbox/trunk/src/libs/libvorbis-1.3.7/doc/vorbisfile/OggVorbis_File.html

最後變更 在這個檔案是 96468,由 vboxsync 提交於 3 年 前

libs/libvorbis-1.3.7: Re-exporting, hopefully this time everything is there. bugref:10275

檔案大小: 4.8 KB
 
1<html>
2
3<head>
4<title>Vorbisfile - datatype - OggVorbis_File</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.3.2 - 20101101</p></td>
13</tr>
14</table>
15
16<h1>OggVorbis_File</h1>
17
18<p><i>declared in "vorbis/vorbisfile.h"</i></p>
19
20<p>
21The OggVorbis_File structure defines an Ogg Vorbis file.
22<p>
23
24This structure is used in all libvorbisfile routines. Before it can
25be used, it must be initialized by <a
26href="ov_open.html">ov_open()</a>, <a
27href="ov_fopen.html">ov_fopen()</a>, or <a
28href="ov_open_callbacks.html">ov_open_callbacks()</a>. <em>Important
29Note:</em> The use of <a href="ov_open.html">ov_open()</a> is
30discouraged under Windows due to a peculiarity of Windows linking
31convention; use <a href="ov_fopen.html">ov_fopen()</a> or <a
32href="ov_open_callbacks.html">ov_open_callbacks()</a> instead. This
33caution only applies to Windows; use of <a
34href="ov_open.html">ov_open()</a> is appropriate for all other
35platforms. See the <a href="ov_open.html">ov_open()</a> page for more
36information.
37
38<p>
39After use, the OggVorbis_File structure must be deallocated with a
40call to <a href="ov_clear.html">ov_clear()</a>.
41
42<p>
43Note that once a file handle is passed to a successful <a
44href="ov_open.html">ov_open()</a> call, the handle is owned by
45libvorbisfile and will be closed by libvorbisfile later during the
46call to <a href="ov_clear.html">ov_clear()</a>. The handle should not
47be used or closed outside of the libvorbisfile API. Similarly, files
48opened by <a href="ov_fopen.html">ov_fopen()</a> will also be closed
49internally by vorbisfile in <a href="ov_clear.html">ov_clear()</a>.<p>
50
51<a href="ov_open_callbacks.html">ov_open_callbacks()</a> allows the
52application to choose whether libvorbisfile will or will not close the
53handle in <a href="ov_clear.html">ov_clear()</a>; see the <a
54href="ov_open_callbacks.html">ov_open_callbacks()</a> page for more information.<p>
55
56If a call to <a href="ov_open.html">ov_open()</a> or <a
57href="ov_open_callbacks.html">ov_open_callbacks()</a> <b>fails</b>,
58libvorbisfile does <b>not</b> assume ownership of the handle and the
59application is expected to close it if necessary. A failed <a
60href="ov_fopen.html">ov_fopen()</a> call will internally close the
61file handle if the open process fails.<p>
62
63<br><br>
64<table border=0 width=100% color=black cellspacing=0 cellpadding=7>
65<tr bgcolor=#cccccc>
66 <td>
67<pre><b>typedef struct {
68 void *datasource; /* Pointer to a FILE *, etc. */
69 int seekable;
70 ogg_int64_t offset;
71 ogg_int64_t end;
72 ogg_sync_state oy;
73
74 /* If the FILE handle isn't seekable (eg, a pipe), only the current
75 stream appears */
76 int links;
77 ogg_int64_t *offsets;
78 ogg_int64_t *dataoffsets;
79 long *serialnos;
80 ogg_int64_t *pcmlengths;
81 vorbis_info *vi;
82 vorbis_comment *vc;
83
84 /* Decoding working state local storage */
85 ogg_int64_t pcm_offset;
86 int ready_state;
87 long current_serialno;
88 int current_link;
89
90 ogg_int64_t bittrack;
91 ogg_int64_t samptrack;
92
93 ogg_stream_state os; /* take physical pages, weld into a logical
94 stream of packets */
95 vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
96 vorbis_block vb; /* local working space for packet->PCM decode */
97
98 <a href="ov_callbacks.html">ov_callbacks</a> callbacks;
99
100} OggVorbis_File;</b></pre>
101 </td>
102</tr>
103</table>
104
105<h3>Relevant Struct Members</h3>
106<dl>
107<dt><i>datasource</i></dt>
108
109<dd>Pointer to file or other ogg source. When using stdio based
110file/stream access, this field contains a <tt>FILE</tt> pointer. When using
111custom IO via callbacks, libvorbisfile treats this void pointer as a
112black box only to be passed to the callback routines provided by the
113application.</dd>
114
115<dt><i>seekable</i></dt>
116<dd>Read-only int indicating whether file is seekable. E.g., a physical file is seekable, a pipe isn't.</dd>
117<dt><i>links</i></dt>
118<dd>Read-only int indicating the number of logical bitstreams within the physical bitstream.</dd>
119<dt><i>ov_callbacks</i></dt>
120<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>
121</dl>
122
123<br><br>
124<hr noshade>
125<table border=0 width=100%>
126<tr valign=top>
127<td><p class=tiny>copyright &copy; 2000-2010 Xiph.Org</p></td>
128<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
129</tr><tr>
130<td><p class=tiny>Vorbisfile documentation</p></td>
131<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
132</tr>
133</table>
134
135</body>
136
137</html>
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette