1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>OggFLAC/stream_decoder.h: stream decoder interface</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.2.14 -->
8
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
9
<hr><h1>OggFLAC/stream_decoder.h: stream decoder interface<br>
11
[<a class="el" href="group__oggflac__decoder.html">OggFLAC/_decoder.h: decoder interfaces</a>]</small>
12
</h1>This module contains the functions which implement the stream decoder.
13
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
14
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
15
<tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a></td></tr>
16
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
17
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__stream__decoder.html#a35">FLAC__StreamDecoderReadStatus</a>(* </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a1">OggFLAC__StreamDecoderReadCallback</a> )(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)</td></tr>
18
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderWriteStatus</a>(* </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a2">OggFLAC__StreamDecoderWriteCallback</a> )(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
19
<tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a3">OggFLAC__StreamDecoderMetadataCallback</a> )(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
20
<tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a4">OggFLAC__StreamDecoderErrorCallback</a> )(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a37">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
21
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
22
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__StreamDecoderState</a> { <br>
23
<a class="el" href="group__oggflac__stream__decoder.html#a33a5">OggFLAC__STREAM_DECODER_OK</a> = 0,
24
<a class="el" href="group__oggflac__stream__decoder.html#a33a6">OggFLAC__STREAM_DECODER_OGG_ERROR</a>,
25
<a class="el" href="group__oggflac__stream__decoder.html#a33a7">OggFLAC__STREAM_DECODER_READ_ERROR</a>,
26
<a class="el" href="group__oggflac__stream__decoder.html#a33a8">OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</a>,
28
<a class="el" href="group__oggflac__stream__decoder.html#a33a9">OggFLAC__STREAM_DECODER_INVALID_CALLBACK</a>,
29
<a class="el" href="group__oggflac__stream__decoder.html#a33a10">OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
30
<a class="el" href="group__oggflac__stream__decoder.html#a33a11">OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED</a>,
31
<a class="el" href="group__oggflac__stream__decoder.html#a33a12">OggFLAC__STREAM_DECODER_UNINITIALIZED</a>
34
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
35
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a5">OggFLAC__stream_decoder_new</a> ()</td></tr>
36
<tr><td nowrap align=right valign=top>OggFLAC_API void </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a6">OggFLAC__stream_decoder_delete</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
37
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a7">OggFLAC__stream_decoder_set_read_callback</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__oggflac__stream__decoder.html#a1">OggFLAC__StreamDecoderReadCallback</a> value)</td></tr>
38
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a8">OggFLAC__stream_decoder_set_write_callback</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__oggflac__stream__decoder.html#a2">OggFLAC__StreamDecoderWriteCallback</a> value)</td></tr>
39
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a9">OggFLAC__stream_decoder_set_metadata_callback</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__oggflac__stream__decoder.html#a3">OggFLAC__StreamDecoderMetadataCallback</a> value)</td></tr>
40
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a10">OggFLAC__stream_decoder_set_error_callback</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__oggflac__stream__decoder.html#a4">OggFLAC__StreamDecoderErrorCallback</a> value)</td></tr>
41
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a11">OggFLAC__stream_decoder_set_client_data</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, void *value)</td></tr>
42
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a12">OggFLAC__stream_decoder_set_serial_number</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, long serial_number)</td></tr>
43
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a13">OggFLAC__stream_decoder_set_metadata_respond</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a93">FLAC__MetadataType</a> type)</td></tr>
44
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a14">OggFLAC__stream_decoder_set_metadata_respond_application</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
45
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a15">OggFLAC__stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
46
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a16">OggFLAC__stream_decoder_set_metadata_ignore</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#a93">FLAC__MetadataType</a> type)</td></tr>
47
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a17">OggFLAC__stream_decoder_set_metadata_ignore_application</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
48
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a18">OggFLAC__stream_decoder_set_metadata_ignore_all</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
49
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a19">OggFLAC__stream_decoder_get_state</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
50
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__flac__stream__decoder.html#a34">FLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a20">OggFLAC__stream_decoder_get_FLAC_stream_decoder_state</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
51
<tr><td nowrap align=right valign=top>OggFLAC_API unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a21">OggFLAC__stream_decoder_get_channels</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
52
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__flac__format.html#a91">FLAC__ChannelAssignment</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a22">OggFLAC__stream_decoder_get_channel_assignment</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
53
<tr><td nowrap align=right valign=top>OggFLAC_API unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a23">OggFLAC__stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
54
<tr><td nowrap align=right valign=top>OggFLAC_API unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a24">OggFLAC__stream_decoder_get_sample_rate</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
55
<tr><td nowrap align=right valign=top>OggFLAC_API unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a25">OggFLAC__stream_decoder_get_blocksize</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
56
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a26">OggFLAC__stream_decoder_init</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
57
<tr><td nowrap align=right valign=top>OggFLAC_API void </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a27">OggFLAC__stream_decoder_finish</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
58
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a28">OggFLAC__stream_decoder_flush</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
59
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a29">OggFLAC__stream_decoder_reset</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
60
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a30">OggFLAC__stream_decoder_process_single</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
61
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a31">OggFLAC__stream_decoder_process_until_end_of_metadata</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
62
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a32">OggFLAC__stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
63
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
64
<tr><td nowrap align=right valign=top>OggFLAC_API const char *const </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a0">OggFLAC__StreamDecoderStateString</a> []</td></tr>
66
<hr><a name="_details"></a><h2>Detailed Description</h2>
67
This module contains the functions which implement the stream decoder.
71
The interface here is identical to FLAC's stream decoder, including the callbacks. See the <a class="el" href="group__flac__stream__decoder.html">FLAC stream decoder module</a> for full documentation. <hr><h2>Typedef Documentation</h2>
72
<a name="a1" doxytag="stream_decoder.h::OggFLAC__StreamDecoderReadCallback"></a><p>
73
<table width="100%" cellpadding="2" cellspacing="0" border="0">
76
<table cellpadding="0" cellspacing="0" border="0">
78
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__stream__decoder.html#a35">FLAC__StreamDecoderReadStatus</a>(* OggFLAC__StreamDecoderReadCallback)(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
83
<table cellspacing=5 cellpadding=0 border=0>
91
Signature for the read callback. See <a class="el" href="group__oggflac__stream__decoder.html#a7">OggFLAC__stream_decoder_set_read_callback</a>() and FLAC__StreamDecoderReadCallback for more info.<dl compact><dt><b>
93
<table border=0 cellspacing=2 cellpadding=0>
94
<tr><td valign=top><em>decoder</em> </td><td>
95
The decoder instance calling the callback. </td></tr>
96
<tr><td valign=top><em>buffer</em> </td><td>
97
A pointer to a location for the callee to store data to be decoded. </td></tr>
98
<tr><td valign=top><em>bytes</em> </td><td>
99
A pointer to the size of the buffer. </td></tr>
100
<tr><td valign=top><em>client_data</em> </td><td>
101
The callee's client data set through <a class="el" href="group__oggflac__stream__decoder.html#a11">OggFLAC__stream_decoder_set_client_data</a>(). </td></tr>
103
</dl><dl compact><dt><b>
104
Return values: </b><dd>
105
<table border=0 cellspacing=2 cellpadding=0>
106
<tr><td valign=top><em>FLAC__StreamDecoderReadStatus</em> </td><td>
107
The callee's return status. </td></tr>
112
<a name="a2" doxytag="stream_decoder.h::OggFLAC__StreamDecoderWriteCallback"></a><p>
113
<table width="100%" cellpadding="2" cellspacing="0" border="0">
116
<table cellpadding="0" cellspacing="0" border="0">
118
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderWriteStatus</a>(* OggFLAC__StreamDecoderWriteCallback)(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 * const buffer[], void *client_data)
123
<table cellspacing=5 cellpadding=0 border=0>
131
Signature for the write callback. See <a class="el" href="group__oggflac__stream__decoder.html#a8">OggFLAC__stream_decoder_set_write_callback</a>() and FLAC__StreamDecoderWriteCallback for more info.<dl compact><dt><b>
133
<table border=0 cellspacing=2 cellpadding=0>
134
<tr><td valign=top><em>decoder</em> </td><td>
135
The decoder instance calling the callback. </td></tr>
136
<tr><td valign=top><em>frame</em> </td><td>
137
The description of the decoded frame. </td></tr>
138
<tr><td valign=top><em>buffer</em> </td><td>
139
An array of pointers to decoded channels of data. </td></tr>
140
<tr><td valign=top><em>client_data</em> </td><td>
141
The callee's client data set through <a class="el" href="group__oggflac__stream__decoder.html#a11">OggFLAC__stream_decoder_set_client_data</a>(). </td></tr>
143
</dl><dl compact><dt><b>
144
Return values: </b><dd>
145
<table border=0 cellspacing=2 cellpadding=0>
146
<tr><td valign=top><em>FLAC__StreamDecoderWriteStatus</em> </td><td>
147
The callee's return status. </td></tr>
152
<a name="a3" doxytag="stream_decoder.h::OggFLAC__StreamDecoderMetadataCallback"></a><p>
153
<table width="100%" cellpadding="2" cellspacing="0" border="0">
156
<table cellpadding="0" cellspacing="0" border="0">
158
<td class="md" nowrap valign="top"> typedef void(* OggFLAC__StreamDecoderMetadataCallback)(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)
163
<table cellspacing=5 cellpadding=0 border=0>
171
Signature for the metadata callback. See <a class="el" href="group__oggflac__stream__decoder.html#a9">OggFLAC__stream_decoder_set_metadata_callback</a>() and FLAC__StreamDecoderMetadataCallback for more info.<dl compact><dt><b>
173
<table border=0 cellspacing=2 cellpadding=0>
174
<tr><td valign=top><em>decoder</em> </td><td>
175
The decoder instance calling the callback. </td></tr>
176
<tr><td valign=top><em>metadata</em> </td><td>
177
The decoded metadata block. </td></tr>
178
<tr><td valign=top><em>client_data</em> </td><td>
179
The callee's client data set through <a class="el" href="group__oggflac__stream__decoder.html#a11">OggFLAC__stream_decoder_set_client_data</a>(). </td></tr>
184
<a name="a4" doxytag="stream_decoder.h::OggFLAC__StreamDecoderErrorCallback"></a><p>
185
<table width="100%" cellpadding="2" cellspacing="0" border="0">
188
<table cellpadding="0" cellspacing="0" border="0">
190
<td class="md" nowrap valign="top"> typedef void(* OggFLAC__StreamDecoderErrorCallback)(const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#a37">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)
195
<table cellspacing=5 cellpadding=0 border=0>
203
Signature for the error callback. See <a class="el" href="group__oggflac__stream__decoder.html#a10">OggFLAC__stream_decoder_set_error_callback</a>() and FLAC__StreamDecoderErrorCallback for more info.<dl compact><dt><b>
205
<table border=0 cellspacing=2 cellpadding=0>
206
<tr><td valign=top><em>decoder</em> </td><td>
207
The decoder instance calling the callback. </td></tr>
208
<tr><td valign=top><em>status</em> </td><td>
209
The error encountered by the decoder. </td></tr>
210
<tr><td valign=top><em>client_data</em> </td><td>
211
The callee's client data set through <a class="el" href="group__oggflac__stream__decoder.html#a11">OggFLAC__stream_decoder_set_client_data</a>(). </td></tr>
216
<hr><h2>Enumeration Type Documentation</h2>
217
<a name="a33" doxytag="stream_decoder.h::OggFLAC__StreamDecoderState"></a><p>
218
<table width="100%" cellpadding="2" cellspacing="0" border="0">
221
<table cellpadding="0" cellspacing="0" border="0">
223
<td class="md" nowrap valign="top"> enum OggFLAC__StreamDecoderState
228
<table cellspacing=5 cellpadding=0 border=0>
236
State values for an <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a>
238
The decoder's state can be obtained by calling <a class="el" href="group__oggflac__stream__decoder.html#a19">OggFLAC__stream_decoder_get_state</a>(). <dl compact><dt><b>
239
Enumeration values:</b><dd>
240
<table border=0 cellspacing=2 cellpadding=0>
241
<tr><td valign=top><em><a name="a33a5" doxytag="OggFLAC__STREAM_DECODER_OK"></a><em>OggFLAC__STREAM_DECODER_OK</em></em> </td><td>
242
The decoder is in the normal OK state. </td></tr>
243
<tr><td valign=top><em><a name="a33a6" doxytag="OggFLAC__STREAM_DECODER_OGG_ERROR"></a><em>OggFLAC__STREAM_DECODER_OGG_ERROR</em></em> </td><td>
244
An error occurred in the underlying Ogg layer. </td></tr>
245
<tr><td valign=top><em><a name="a33a7" doxytag="OggFLAC__STREAM_DECODER_READ_ERROR"></a><em>OggFLAC__STREAM_DECODER_READ_ERROR</em></em> </td><td>
246
The read callback returned an error. </td></tr>
247
<tr><td valign=top><em><a name="a33a8" doxytag="OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR"></a><em>OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</em></em> </td><td>
248
An error occurred in the underlying FLAC stream decoder; check <a class="el" href="group__oggflac__stream__decoder.html#a20">OggFLAC__stream_decoder_get_FLAC_stream_decoder_state</a>(). </td></tr>
249
<tr><td valign=top><em><a name="a33a9" doxytag="OggFLAC__STREAM_DECODER_INVALID_CALLBACK"></a><em>OggFLAC__STREAM_DECODER_INVALID_CALLBACK</em></em> </td><td>
250
The decoder was initialized before setting all the required callbacks. </td></tr>
251
<tr><td valign=top><em><a name="a33a10" doxytag="OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR"></a><em>OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</em></em> </td><td>
252
Memory allocation failed. </td></tr>
253
<tr><td valign=top><em><a name="a33a11" doxytag="OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED"></a><em>OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED</em></em> </td><td>
254
<a class="el" href="group__oggflac__stream__decoder.html#a26">OggFLAC__stream_decoder_init</a>() was called when the decoder was already initialized, usually because <a class="el" href="group__oggflac__stream__decoder.html#a27">OggFLAC__stream_decoder_finish</a>() was not called. </td></tr>
255
<tr><td valign=top><em><a name="a33a12" doxytag="OggFLAC__STREAM_DECODER_UNINITIALIZED"></a><em>OggFLAC__STREAM_DECODER_UNINITIALIZED</em></em> </td><td>
256
The decoder is in the uninitialized state. </td></tr>
262
<hr><h2>Function Documentation</h2>
263
<a name="a5" doxytag="stream_decoder.h::OggFLAC__stream_decoder_new"></a><p>
264
<table width="100%" cellpadding="2" cellspacing="0" border="0">
267
<table cellpadding="0" cellspacing="0" border="0">
269
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a>* OggFLAC__stream_decoder_new </td>
270
<td class="md" valign="top">( </td>
271
<td class="mdname1" valign="top" nowrap> </td>
272
<td class="md" valign="top">) </td>
273
<td class="md" nowrap></td>
280
<table cellspacing=5 cellpadding=0 border=0>
288
Create a new stream decoder instance. The instance is created with default settings; see the individual OggFLAC__stream_decoder_set_*() functions for each setting's default.<dl compact><dt><b>
289
Return values: </b><dd>
290
<table border=0 cellspacing=2 cellpadding=0>
291
<tr><td valign=top><em><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a></em> </td><td>
292
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
297
<a name="a6" doxytag="stream_decoder.h::OggFLAC__stream_decoder_delete"></a><p>
298
<table width="100%" cellpadding="2" cellspacing="0" border="0">
301
<table cellpadding="0" cellspacing="0" border="0">
303
<td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_delete </td>
304
<td class="md" valign="top">( </td>
305
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
306
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
307
<td class="md" valign="top">) </td>
308
<td class="md" nowrap></td>
315
<table cellspacing=5 cellpadding=0 border=0>
323
Free a decoder instance. Deletes the object pointed to by <em>decoder</em>.<dl compact><dt><b>
325
<table border=0 cellspacing=2 cellpadding=0>
326
<tr><td valign=top><em>decoder</em> </td><td>
327
A pointer to an existing decoder. </td></tr>
329
</dl><dl compact><dt><b>
331
<div class="fragment"><pre>decoder != NULL
332
</pre></div> </dl> </td>
335
<a name="a7" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_read_callback"></a><p>
336
<table width="100%" cellpadding="2" cellspacing="0" border="0">
339
<table cellpadding="0" cellspacing="0" border="0">
341
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_read_callback </td>
342
<td class="md" valign="top">( </td>
343
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
344
<td class="mdname" nowrap> <em>decoder</em>, </td>
349
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a1">OggFLAC__StreamDecoderReadCallback</a> </td>
350
<td class="mdname" nowrap> <em>value</em></td>
354
<td class="md">) </td>
355
<td class="md" colspan="2"></td>
362
<table cellspacing=5 cellpadding=0 border=0>
370
Set the read callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a10">FLAC__stream_decoder_set_read_callback</a>()
374
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
375
Default Value:</b><dd>
376
<code>NULL</code> </dl><dl compact><dt><b>
378
<table border=0 cellspacing=2 cellpadding=0>
379
<tr><td valign=top><em>decoder</em> </td><td>
380
A decoder instance to set. </td></tr>
381
<tr><td valign=top><em>value</em> </td><td>
382
See above. </td></tr>
384
</dl><dl compact><dt><b>
386
<div class="fragment"><pre>decoder != NULL
387
</pre></div> <div class="fragment"><pre>value != NULL
388
</pre></div> </dl><dl compact><dt><b>
389
Return values: </b><dd>
390
<table border=0 cellspacing=2 cellpadding=0>
391
<tr><td valign=top><em>FLAC__bool</em> </td><td>
392
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
397
<a name="a8" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_write_callback"></a><p>
398
<table width="100%" cellpadding="2" cellspacing="0" border="0">
401
<table cellpadding="0" cellspacing="0" border="0">
403
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_write_callback </td>
404
<td class="md" valign="top">( </td>
405
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
406
<td class="mdname" nowrap> <em>decoder</em>, </td>
411
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a2">OggFLAC__StreamDecoderWriteCallback</a> </td>
412
<td class="mdname" nowrap> <em>value</em></td>
416
<td class="md">) </td>
417
<td class="md" colspan="2"></td>
424
<table cellspacing=5 cellpadding=0 border=0>
432
Set the write callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a11">FLAC__stream_decoder_set_write_callback</a>()
436
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
437
Default Value:</b><dd>
438
<code>NULL</code> </dl><dl compact><dt><b>
440
<table border=0 cellspacing=2 cellpadding=0>
441
<tr><td valign=top><em>decoder</em> </td><td>
442
A decoder instance to set. </td></tr>
443
<tr><td valign=top><em>value</em> </td><td>
444
See above. </td></tr>
446
</dl><dl compact><dt><b>
448
<div class="fragment"><pre>decoder != NULL
449
</pre></div> <div class="fragment"><pre>value != NULL
450
</pre></div> </dl><dl compact><dt><b>
451
Return values: </b><dd>
452
<table border=0 cellspacing=2 cellpadding=0>
453
<tr><td valign=top><em>FLAC__bool</em> </td><td>
454
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
459
<a name="a9" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_callback"></a><p>
460
<table width="100%" cellpadding="2" cellspacing="0" border="0">
463
<table cellpadding="0" cellspacing="0" border="0">
465
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_callback </td>
466
<td class="md" valign="top">( </td>
467
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
468
<td class="mdname" nowrap> <em>decoder</em>, </td>
473
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a3">OggFLAC__StreamDecoderMetadataCallback</a> </td>
474
<td class="mdname" nowrap> <em>value</em></td>
478
<td class="md">) </td>
479
<td class="md" colspan="2"></td>
486
<table cellspacing=5 cellpadding=0 border=0>
494
Set the metadata callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a12">FLAC__stream_decoder_set_metadata_callback</a>()
498
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
499
Default Value:</b><dd>
500
<code>NULL</code> </dl><dl compact><dt><b>
502
<table border=0 cellspacing=2 cellpadding=0>
503
<tr><td valign=top><em>decoder</em> </td><td>
504
A decoder instance to set. </td></tr>
505
<tr><td valign=top><em>value</em> </td><td>
506
See above. </td></tr>
508
</dl><dl compact><dt><b>
510
<div class="fragment"><pre>decoder != NULL
511
</pre></div> <div class="fragment"><pre>value != NULL
512
</pre></div> </dl><dl compact><dt><b>
513
Return values: </b><dd>
514
<table border=0 cellspacing=2 cellpadding=0>
515
<tr><td valign=top><em>FLAC__bool</em> </td><td>
516
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
521
<a name="a10" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_error_callback"></a><p>
522
<table width="100%" cellpadding="2" cellspacing="0" border="0">
525
<table cellpadding="0" cellspacing="0" border="0">
527
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_error_callback </td>
528
<td class="md" valign="top">( </td>
529
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
530
<td class="mdname" nowrap> <em>decoder</em>, </td>
535
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a4">OggFLAC__StreamDecoderErrorCallback</a> </td>
536
<td class="mdname" nowrap> <em>value</em></td>
540
<td class="md">) </td>
541
<td class="md" colspan="2"></td>
548
<table cellspacing=5 cellpadding=0 border=0>
556
Set the error callback. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a13">FLAC__stream_decoder_set_error_callback</a>()
560
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
561
Default Value:</b><dd>
562
<code>NULL</code> </dl><dl compact><dt><b>
564
<table border=0 cellspacing=2 cellpadding=0>
565
<tr><td valign=top><em>decoder</em> </td><td>
566
A decoder instance to set. </td></tr>
567
<tr><td valign=top><em>value</em> </td><td>
568
See above. </td></tr>
570
</dl><dl compact><dt><b>
572
<div class="fragment"><pre>decoder != NULL
573
</pre></div> <div class="fragment"><pre>value != NULL
574
</pre></div> </dl><dl compact><dt><b>
575
Return values: </b><dd>
576
<table border=0 cellspacing=2 cellpadding=0>
577
<tr><td valign=top><em>FLAC__bool</em> </td><td>
578
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
583
<a name="a11" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_client_data"></a><p>
584
<table width="100%" cellpadding="2" cellspacing="0" border="0">
587
<table cellpadding="0" cellspacing="0" border="0">
589
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_client_data </td>
590
<td class="md" valign="top">( </td>
591
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
592
<td class="mdname" nowrap> <em>decoder</em>, </td>
597
<td class="md" nowrap>void * </td>
598
<td class="mdname" nowrap> <em>value</em></td>
602
<td class="md">) </td>
603
<td class="md" colspan="2"></td>
610
<table cellspacing=5 cellpadding=0 border=0>
618
Set the client data to be passed back to callbacks. This value will be supplied to callbacks in their <em>client_data</em> argument.<dl compact><dt><b>
619
Default Value:</b><dd>
620
<code>NULL</code> </dl><dl compact><dt><b>
622
<table border=0 cellspacing=2 cellpadding=0>
623
<tr><td valign=top><em>decoder</em> </td><td>
624
A decoder instance to set. </td></tr>
625
<tr><td valign=top><em>value</em> </td><td>
626
See above. </td></tr>
628
</dl><dl compact><dt><b>
630
<div class="fragment"><pre>decoder != NULL
631
</pre></div> </dl><dl compact><dt><b>
632
Return values: </b><dd>
633
<table border=0 cellspacing=2 cellpadding=0>
634
<tr><td valign=top><em>FLAC__bool</em> </td><td>
635
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
640
<a name="a12" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_serial_number"></a><p>
641
<table width="100%" cellpadding="2" cellspacing="0" border="0">
644
<table cellpadding="0" cellspacing="0" border="0">
646
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_serial_number </td>
647
<td class="md" valign="top">( </td>
648
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
649
<td class="mdname" nowrap> <em>decoder</em>, </td>
654
<td class="md" nowrap>long </td>
655
<td class="mdname" nowrap> <em>serial_number</em></td>
659
<td class="md">) </td>
660
<td class="md" colspan="2"></td>
667
<table cellspacing=5 cellpadding=0 border=0>
675
Set the serial number for the Ogg stream. The default behavior is to use the serial number of the first Ogg page. Setting a serial number here will explicitly define which stream is to be decoded.<dl compact><dt><b>
676
Default Value:</b><dd>
677
<code>use</code> serial number of first page </dl><dl compact><dt><b>
679
<table border=0 cellspacing=2 cellpadding=0>
680
<tr><td valign=top><em>decoder</em> </td><td>
681
A decoder instance to set. </td></tr>
682
<tr><td valign=top><em>serial_number</em> </td><td>
683
See above. </td></tr>
685
</dl><dl compact><dt><b>
687
<div class="fragment"><pre>decoder != NULL
688
</pre></div> </dl><dl compact><dt><b>
689
Return values: </b><dd>
690
<table border=0 cellspacing=2 cellpadding=0>
691
<tr><td valign=top><em>FLAC__bool</em> </td><td>
692
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
697
<a name="a13" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond"></a><p>
698
<table width="100%" cellpadding="2" cellspacing="0" border="0">
701
<table cellpadding="0" cellspacing="0" border="0">
703
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond </td>
704
<td class="md" valign="top">( </td>
705
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
706
<td class="mdname" nowrap> <em>decoder</em>, </td>
711
<td class="md" nowrap><a class="el" href="group__flac__format.html#a93">FLAC__MetadataType</a> </td>
712
<td class="mdname" nowrap> <em>type</em></td>
716
<td class="md">) </td>
717
<td class="md" colspan="2"></td>
724
<table cellspacing=5 cellpadding=0 border=0>
732
Direct the decoder to pass on all metadata blocks of type <em>type</em>. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a15">FLAC__stream_decoder_set_metadata_respond</a>()<dl compact><dt><b>
733
Default Value:</b><dd>
734
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
736
<table border=0 cellspacing=2 cellpadding=0>
737
<tr><td valign=top><em>decoder</em> </td><td>
738
A decoder instance to set. </td></tr>
739
<tr><td valign=top><em>type</em> </td><td>
740
See above. </td></tr>
742
</dl><dl compact><dt><b>
744
<div class="fragment"><pre>decoder != NULL
745
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
746
Return values: </b><dd>
747
<table border=0 cellspacing=2 cellpadding=0>
748
<tr><td valign=top><em>FLAC__bool</em> </td><td>
749
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
754
<a name="a14" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond_application"></a><p>
755
<table width="100%" cellpadding="2" cellspacing="0" border="0">
758
<table cellpadding="0" cellspacing="0" border="0">
760
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond_application </td>
761
<td class="md" valign="top">( </td>
762
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
763
<td class="mdname" nowrap> <em>decoder</em>, </td>
768
<td class="md" nowrap>const FLAC__byte </td>
769
<td class="mdname" nowrap> <em>id</em>[4]</td>
773
<td class="md">) </td>
774
<td class="md" colspan="2"></td>
781
<table cellspacing=5 cellpadding=0 border=0>
789
Direct the decoder to pass on all APPLICATION metadata blocks of the given <em>id</em>. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a16">FLAC__stream_decoder_set_metadata_respond_application</a>()<dl compact><dt><b>
790
Default Value:</b><dd>
791
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
793
<table border=0 cellspacing=2 cellpadding=0>
794
<tr><td valign=top><em>decoder</em> </td><td>
795
A decoder instance to set. </td></tr>
796
<tr><td valign=top><em>id</em> </td><td>
797
See above. </td></tr>
799
</dl><dl compact><dt><b>
801
<div class="fragment"><pre>decoder != NULL
802
</pre></div> <div class="fragment"><pre>id != NULL
803
</pre></div> </dl><dl compact><dt><b>
804
Return values: </b><dd>
805
<table border=0 cellspacing=2 cellpadding=0>
806
<tr><td valign=top><em>FLAC__bool</em> </td><td>
807
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
812
<a name="a15" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond_all"></a><p>
813
<table width="100%" cellpadding="2" cellspacing="0" border="0">
816
<table cellpadding="0" cellspacing="0" border="0">
818
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond_all </td>
819
<td class="md" valign="top">( </td>
820
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
821
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
822
<td class="md" valign="top">) </td>
823
<td class="md" nowrap></td>
830
<table cellspacing=5 cellpadding=0 border=0>
838
Direct the decoder to pass on all metadata blocks of any type. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a17">FLAC__stream_decoder_set_metadata_respond_all</a>()<dl compact><dt><b>
839
Default Value:</b><dd>
840
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
842
<table border=0 cellspacing=2 cellpadding=0>
843
<tr><td valign=top><em>decoder</em> </td><td>
844
A decoder instance to set. </td></tr>
846
</dl><dl compact><dt><b>
848
<div class="fragment"><pre>decoder != NULL
849
</pre></div> </dl><dl compact><dt><b>
850
Return values: </b><dd>
851
<table border=0 cellspacing=2 cellpadding=0>
852
<tr><td valign=top><em>FLAC__bool</em> </td><td>
853
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
858
<a name="a16" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore"></a><p>
859
<table width="100%" cellpadding="2" cellspacing="0" border="0">
862
<table cellpadding="0" cellspacing="0" border="0">
864
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore </td>
865
<td class="md" valign="top">( </td>
866
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
867
<td class="mdname" nowrap> <em>decoder</em>, </td>
872
<td class="md" nowrap><a class="el" href="group__flac__format.html#a93">FLAC__MetadataType</a> </td>
873
<td class="mdname" nowrap> <em>type</em></td>
877
<td class="md">) </td>
878
<td class="md" colspan="2"></td>
885
<table cellspacing=5 cellpadding=0 border=0>
893
Direct the decoder to filter out all metadata blocks of type <em>type</em>. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a18">FLAC__stream_decoder_set_metadata_ignore</a>()<dl compact><dt><b>
894
Default Value:</b><dd>
895
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
897
<table border=0 cellspacing=2 cellpadding=0>
898
<tr><td valign=top><em>decoder</em> </td><td>
899
A decoder instance to set. </td></tr>
900
<tr><td valign=top><em>type</em> </td><td>
901
See above. </td></tr>
903
</dl><dl compact><dt><b>
905
<div class="fragment"><pre>decoder != NULL
906
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
907
Return values: </b><dd>
908
<table border=0 cellspacing=2 cellpadding=0>
909
<tr><td valign=top><em>FLAC__bool</em> </td><td>
910
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
915
<a name="a17" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore_application"></a><p>
916
<table width="100%" cellpadding="2" cellspacing="0" border="0">
919
<table cellpadding="0" cellspacing="0" border="0">
921
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore_application </td>
922
<td class="md" valign="top">( </td>
923
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
924
<td class="mdname" nowrap> <em>decoder</em>, </td>
929
<td class="md" nowrap>const FLAC__byte </td>
930
<td class="mdname" nowrap> <em>id</em>[4]</td>
934
<td class="md">) </td>
935
<td class="md" colspan="2"></td>
942
<table cellspacing=5 cellpadding=0 border=0>
950
Direct the decoder to filter out all APPLICATION metadata blocks of the given <em>id</em>. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a19">FLAC__stream_decoder_set_metadata_ignore_application</a>()<dl compact><dt><b>
951
Default Value:</b><dd>
952
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
954
<table border=0 cellspacing=2 cellpadding=0>
955
<tr><td valign=top><em>decoder</em> </td><td>
956
A decoder instance to set. </td></tr>
957
<tr><td valign=top><em>id</em> </td><td>
958
See above. </td></tr>
960
</dl><dl compact><dt><b>
962
<div class="fragment"><pre>decoder != NULL
963
</pre></div> <div class="fragment"><pre>id != NULL
964
</pre></div> </dl><dl compact><dt><b>
965
Return values: </b><dd>
966
<table border=0 cellspacing=2 cellpadding=0>
967
<tr><td valign=top><em>FLAC__bool</em> </td><td>
968
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
973
<a name="a18" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore_all"></a><p>
974
<table width="100%" cellpadding="2" cellspacing="0" border="0">
977
<table cellpadding="0" cellspacing="0" border="0">
979
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore_all </td>
980
<td class="md" valign="top">( </td>
981
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
982
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
983
<td class="md" valign="top">) </td>
984
<td class="md" nowrap></td>
991
<table cellspacing=5 cellpadding=0 border=0>
999
Direct the decoder to filter out all metadata blocks of any type. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a20">FLAC__stream_decoder_set_metadata_ignore_all</a>()<dl compact><dt><b>
1000
Default Value:</b><dd>
1001
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1002
Parameters: </b><dd>
1003
<table border=0 cellspacing=2 cellpadding=0>
1004
<tr><td valign=top><em>decoder</em> </td><td>
1005
A decoder instance to set. </td></tr>
1007
</dl><dl compact><dt><b>
1009
<div class="fragment"><pre>decoder != NULL
1010
</pre></div> </dl><dl compact><dt><b>
1011
Return values: </b><dd>
1012
<table border=0 cellspacing=2 cellpadding=0>
1013
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1014
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1019
<a name="a19" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_state"></a><p>
1020
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1023
<table cellpadding="0" cellspacing="0" border="0">
1025
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__StreamDecoderState</a> OggFLAC__stream_decoder_get_state </td>
1026
<td class="md" valign="top">( </td>
1027
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1028
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1029
<td class="md" valign="top">) </td>
1030
<td class="md" nowrap></td>
1037
<table cellspacing=5 cellpadding=0 border=0>
1045
Get the current decoder state.<dl compact><dt><b>
1046
Parameters: </b><dd>
1047
<table border=0 cellspacing=2 cellpadding=0>
1048
<tr><td valign=top><em>decoder</em> </td><td>
1049
A decoder instance to query. </td></tr>
1051
</dl><dl compact><dt><b>
1053
<div class="fragment"><pre>decoder != NULL
1054
</pre></div> </dl><dl compact><dt><b>
1055
Return values: </b><dd>
1056
<table border=0 cellspacing=2 cellpadding=0>
1057
<tr><td valign=top><em>OggFLAC__StreamDecoderState</em> </td><td>
1058
The current decoder state. </td></tr>
1063
<a name="a20" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_FLAC_stream_decoder_state"></a><p>
1064
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1067
<table cellpadding="0" cellspacing="0" border="0">
1069
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__flac__stream__decoder.html#a34">FLAC__StreamDecoderState</a> OggFLAC__stream_decoder_get_FLAC_stream_decoder_state </td>
1070
<td class="md" valign="top">( </td>
1071
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1072
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1073
<td class="md" valign="top">) </td>
1074
<td class="md" nowrap></td>
1081
<table cellspacing=5 cellpadding=0 border=0>
1089
Get the state of the underlying FLAC stream decoder. Useful when the stream decoder state is <code>OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</code>.<dl compact><dt><b>
1090
Parameters: </b><dd>
1091
<table border=0 cellspacing=2 cellpadding=0>
1092
<tr><td valign=top><em>decoder</em> </td><td>
1093
A decoder instance to query. </td></tr>
1095
</dl><dl compact><dt><b>
1097
<div class="fragment"><pre>decoder != NULL
1098
</pre></div> </dl><dl compact><dt><b>
1099
Return values: </b><dd>
1100
<table border=0 cellspacing=2 cellpadding=0>
1101
<tr><td valign=top><em>FLAC__StreamDecoderState</em> </td><td>
1102
The FLAC stream decoder state. </td></tr>
1107
<a name="a21" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_channels"></a><p>
1108
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1111
<table cellpadding="0" cellspacing="0" border="0">
1113
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_channels </td>
1114
<td class="md" valign="top">( </td>
1115
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1116
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1117
<td class="md" valign="top">) </td>
1118
<td class="md" nowrap></td>
1125
<table cellspacing=5 cellpadding=0 border=0>
1133
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a22">FLAC__stream_decoder_get_channels</a>()<dl compact><dt><b>
1134
Parameters: </b><dd>
1135
<table border=0 cellspacing=2 cellpadding=0>
1136
<tr><td valign=top><em>decoder</em> </td><td>
1137
A decoder instance to query. </td></tr>
1139
</dl><dl compact><dt><b>
1141
<div class="fragment"><pre>decoder != NULL
1142
</pre></div> </dl><dl compact><dt><b>
1143
Return values: </b><dd>
1144
<table border=0 cellspacing=2 cellpadding=0>
1145
<tr><td valign=top><em>unsigned</em> </td><td>
1146
See above. </td></tr>
1151
<a name="a22" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_channel_assignment"></a><p>
1152
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1155
<table cellpadding="0" cellspacing="0" border="0">
1157
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__flac__format.html#a91">FLAC__ChannelAssignment</a> OggFLAC__stream_decoder_get_channel_assignment </td>
1158
<td class="md" valign="top">( </td>
1159
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1160
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1161
<td class="md" valign="top">) </td>
1162
<td class="md" nowrap></td>
1169
<table cellspacing=5 cellpadding=0 border=0>
1177
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a23">FLAC__stream_decoder_get_channel_assignment</a>()<dl compact><dt><b>
1178
Parameters: </b><dd>
1179
<table border=0 cellspacing=2 cellpadding=0>
1180
<tr><td valign=top><em>decoder</em> </td><td>
1181
A decoder instance to query. </td></tr>
1183
</dl><dl compact><dt><b>
1185
<div class="fragment"><pre>decoder != NULL
1186
</pre></div> </dl><dl compact><dt><b>
1187
Return values: </b><dd>
1188
<table border=0 cellspacing=2 cellpadding=0>
1189
<tr><td valign=top><em>OggFLAC__ChannelAssignment</em> </td><td>
1190
See above. </td></tr>
1195
<a name="a23" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_bits_per_sample"></a><p>
1196
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1199
<table cellpadding="0" cellspacing="0" border="0">
1201
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_bits_per_sample </td>
1202
<td class="md" valign="top">( </td>
1203
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1204
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1205
<td class="md" valign="top">) </td>
1206
<td class="md" nowrap></td>
1213
<table cellspacing=5 cellpadding=0 border=0>
1221
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a24">FLAC__stream_decoder_get_bits_per_sample</a>()<dl compact><dt><b>
1222
Parameters: </b><dd>
1223
<table border=0 cellspacing=2 cellpadding=0>
1224
<tr><td valign=top><em>decoder</em> </td><td>
1225
A decoder instance to query. </td></tr>
1227
</dl><dl compact><dt><b>
1229
<div class="fragment"><pre>decoder != NULL
1230
</pre></div> </dl><dl compact><dt><b>
1231
Return values: </b><dd>
1232
<table border=0 cellspacing=2 cellpadding=0>
1233
<tr><td valign=top><em>unsigned</em> </td><td>
1234
See above. </td></tr>
1239
<a name="a24" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_sample_rate"></a><p>
1240
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1243
<table cellpadding="0" cellspacing="0" border="0">
1245
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_sample_rate </td>
1246
<td class="md" valign="top">( </td>
1247
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1248
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1249
<td class="md" valign="top">) </td>
1250
<td class="md" nowrap></td>
1257
<table cellspacing=5 cellpadding=0 border=0>
1265
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a25">FLAC__stream_decoder_get_sample_rate</a>()<dl compact><dt><b>
1266
Parameters: </b><dd>
1267
<table border=0 cellspacing=2 cellpadding=0>
1268
<tr><td valign=top><em>decoder</em> </td><td>
1269
A decoder instance to query. </td></tr>
1271
</dl><dl compact><dt><b>
1273
<div class="fragment"><pre>decoder != NULL
1274
</pre></div> </dl><dl compact><dt><b>
1275
Return values: </b><dd>
1276
<table border=0 cellspacing=2 cellpadding=0>
1277
<tr><td valign=top><em>unsigned</em> </td><td>
1278
See above. </td></tr>
1283
<a name="a25" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_blocksize"></a><p>
1284
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1287
<table cellpadding="0" cellspacing="0" border="0">
1289
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_blocksize </td>
1290
<td class="md" valign="top">( </td>
1291
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1292
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1293
<td class="md" valign="top">) </td>
1294
<td class="md" nowrap></td>
1301
<table cellspacing=5 cellpadding=0 border=0>
1309
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a26">FLAC__stream_decoder_get_blocksize</a>()<dl compact><dt><b>
1310
Parameters: </b><dd>
1311
<table border=0 cellspacing=2 cellpadding=0>
1312
<tr><td valign=top><em>decoder</em> </td><td>
1313
A decoder instance to query. </td></tr>
1315
</dl><dl compact><dt><b>
1317
<div class="fragment"><pre>decoder != NULL
1318
</pre></div> </dl><dl compact><dt><b>
1319
Return values: </b><dd>
1320
<table border=0 cellspacing=2 cellpadding=0>
1321
<tr><td valign=top><em>unsigned</em> </td><td>
1322
See above. </td></tr>
1327
<a name="a26" doxytag="stream_decoder.h::OggFLAC__stream_decoder_init"></a><p>
1328
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1331
<table cellpadding="0" cellspacing="0" border="0">
1333
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__StreamDecoderState</a> OggFLAC__stream_decoder_init </td>
1334
<td class="md" valign="top">( </td>
1335
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1336
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1337
<td class="md" valign="top">) </td>
1338
<td class="md" nowrap></td>
1345
<table cellspacing=5 cellpadding=0 border=0>
1353
Initialize the decoder instance. Should be called after <a class="el" href="group__oggflac__stream__decoder.html#a5">OggFLAC__stream_decoder_new</a>() and OggFLAC__stream_decoder_set_*() but before any of the OggFLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be OggFLAC__STREAM_DECODER_OK if initialization succeeded.<dl compact><dt><b>
1354
Parameters: </b><dd>
1355
<table border=0 cellspacing=2 cellpadding=0>
1356
<tr><td valign=top><em>decoder</em> </td><td>
1357
An uninitialized decoder instance. </td></tr>
1359
</dl><dl compact><dt><b>
1361
<div class="fragment"><pre>decoder != NULL
1362
</pre></div> </dl><dl compact><dt><b>
1363
Return values: </b><dd>
1364
<table border=0 cellspacing=2 cellpadding=0>
1365
<tr><td valign=top><em>OggFLAC__StreamDecoderState</em> </td><td>
1366
<code>OggFLAC__STREAM_DECODER_OK</code> if initialization was successful; see OggFLAC__StreamDecoderState for the meanings of other return values. </td></tr>
1371
<a name="a27" doxytag="stream_decoder.h::OggFLAC__stream_decoder_finish"></a><p>
1372
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1375
<table cellpadding="0" cellspacing="0" border="0">
1377
<td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_finish </td>
1378
<td class="md" valign="top">( </td>
1379
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1380
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1381
<td class="md" valign="top">) </td>
1382
<td class="md" nowrap></td>
1389
<table cellspacing=5 cellpadding=0 border=0>
1397
Finish the decoding process. Flushes the decoding buffer, releases resources, resets the decoder settings to their defaults, and returns the decoder state to OggFLAC__STREAM_DECODER_UNINITIALIZED.
1399
In the event of a prematurely-terminated decode, it is not strictly necessary to call this immediately before <a class="el" href="group__oggflac__stream__decoder.html#a6">OggFLAC__stream_decoder_delete</a>() but it is good practice to match every <a class="el" href="group__oggflac__stream__decoder.html#a26">OggFLAC__stream_decoder_init</a>() with an <a class="el" href="group__oggflac__stream__decoder.html#a27">OggFLAC__stream_decoder_finish</a>().<dl compact><dt><b>
1400
Parameters: </b><dd>
1401
<table border=0 cellspacing=2 cellpadding=0>
1402
<tr><td valign=top><em>decoder</em> </td><td>
1403
An uninitialized decoder instance. </td></tr>
1405
</dl><dl compact><dt><b>
1407
<div class="fragment"><pre>decoder != NULL
1408
</pre></div> </dl> </td>
1411
<a name="a28" doxytag="stream_decoder.h::OggFLAC__stream_decoder_flush"></a><p>
1412
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1415
<table cellpadding="0" cellspacing="0" border="0">
1417
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_flush </td>
1418
<td class="md" valign="top">( </td>
1419
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1420
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1421
<td class="md" valign="top">) </td>
1422
<td class="md" nowrap></td>
1429
<table cellspacing=5 cellpadding=0 border=0>
1437
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a29">FLAC__stream_decoder_flush</a>()<dl compact><dt><b>
1438
Parameters: </b><dd>
1439
<table border=0 cellspacing=2 cellpadding=0>
1440
<tr><td valign=top><em>decoder</em> </td><td>
1441
A decoder instance. </td></tr>
1443
</dl><dl compact><dt><b>
1445
<div class="fragment"><pre>decoder != NULL
1446
</pre></div> </dl><dl compact><dt><b>
1447
Return values: </b><dd>
1448
<table border=0 cellspacing=2 cellpadding=0>
1449
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1450
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1455
<a name="a29" doxytag="stream_decoder.h::OggFLAC__stream_decoder_reset"></a><p>
1456
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1459
<table cellpadding="0" cellspacing="0" border="0">
1461
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_reset </td>
1462
<td class="md" valign="top">( </td>
1463
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1464
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1465
<td class="md" valign="top">) </td>
1466
<td class="md" nowrap></td>
1473
<table cellspacing=5 cellpadding=0 border=0>
1481
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a30">FLAC__stream_decoder_reset</a>()<dl compact><dt><b>
1482
Parameters: </b><dd>
1483
<table border=0 cellspacing=2 cellpadding=0>
1484
<tr><td valign=top><em>decoder</em> </td><td>
1485
A decoder instance. </td></tr>
1487
</dl><dl compact><dt><b>
1489
<div class="fragment"><pre>decoder != NULL
1490
</pre></div> </dl><dl compact><dt><b>
1491
Return values: </b><dd>
1492
<table border=0 cellspacing=2 cellpadding=0>
1493
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1494
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1499
<a name="a30" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_single"></a><p>
1500
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1503
<table cellpadding="0" cellspacing="0" border="0">
1505
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_single </td>
1506
<td class="md" valign="top">( </td>
1507
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1508
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1509
<td class="md" valign="top">) </td>
1510
<td class="md" nowrap></td>
1517
<table cellspacing=5 cellpadding=0 border=0>
1525
Decode one metadata block or audio frame. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a31">FLAC__stream_decoder_process_single</a>()<dl compact><dt><b>
1526
Parameters: </b><dd>
1527
<table border=0 cellspacing=2 cellpadding=0>
1528
<tr><td valign=top><em>decoder</em> </td><td>
1529
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1531
</dl><dl compact><dt><b>
1533
<div class="fragment"><pre>decoder != NULL
1534
</pre></div> <div class="fragment"><pre><a class="code" href="OggFLAC_2stream__decoder_8h.html#a19">OggFLAC__stream_decoder_get_state</a>(decoder) == <a class="code" href="OggFLAC_2stream__decoder_8h.html#a33a5">OggFLAC__STREAM_DECODER_OK</a>
1535
</pre></div> </dl><dl compact><dt><b>
1536
Return values: </b><dd>
1537
<table border=0 cellspacing=2 cellpadding=0>
1538
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1539
<code>false</code> if any read or write error occurred (except <code>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)</code>, else <code>true</code>; in any case, check the decoder state with <a class="el" href="group__oggflac__stream__decoder.html#a19">OggFLAC__stream_decoder_get_state</a>() to see what went wrong or to check for lost synchronization (a sign of stream corruption). </td></tr>
1544
<a name="a31" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_until_end_of_metadata"></a><p>
1545
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1548
<table cellpadding="0" cellspacing="0" border="0">
1550
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_until_end_of_metadata </td>
1551
<td class="md" valign="top">( </td>
1552
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1553
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1554
<td class="md" valign="top">) </td>
1555
<td class="md" nowrap></td>
1562
<table cellspacing=5 cellpadding=0 border=0>
1570
Decode until the end of the metadata. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a32">FLAC__stream_decoder_process_until_end_of_metadata</a>()<dl compact><dt><b>
1571
Parameters: </b><dd>
1572
<table border=0 cellspacing=2 cellpadding=0>
1573
<tr><td valign=top><em>decoder</em> </td><td>
1574
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1576
</dl><dl compact><dt><b>
1578
<div class="fragment"><pre>decoder != NULL
1579
</pre></div> <div class="fragment"><pre><a class="code" href="OggFLAC_2stream__decoder_8h.html#a19">OggFLAC__stream_decoder_get_state</a>(decoder) == <a class="code" href="OggFLAC_2stream__decoder_8h.html#a33a5">OggFLAC__STREAM_DECODER_OK</a>
1580
</pre></div> </dl><dl compact><dt><b>
1581
Return values: </b><dd>
1582
<table border=0 cellspacing=2 cellpadding=0>
1583
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1584
<code>false</code> if any read or write error occurred (except <code>OggFLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)</code>, else <code>true</code>; in any case, check the decoder state with <a class="el" href="group__oggflac__stream__decoder.html#a19">OggFLAC__stream_decoder_get_state</a>() to see what went wrong or to check for lost synchronization (a sign of stream corruption). </td></tr>
1589
<a name="a32" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_until_end_of_stream"></a><p>
1590
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1593
<table cellpadding="0" cellspacing="0" border="0">
1595
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_until_end_of_stream </td>
1596
<td class="md" valign="top">( </td>
1597
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1598
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1599
<td class="md" valign="top">) </td>
1600
<td class="md" nowrap></td>
1607
<table cellspacing=5 cellpadding=0 border=0>
1615
Decode until the end of the stream. This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a33">FLAC__stream_decoder_process_until_end_of_stream</a>()<dl compact><dt><b>
1616
Parameters: </b><dd>
1617
<table border=0 cellspacing=2 cellpadding=0>
1618
<tr><td valign=top><em>decoder</em> </td><td>
1619
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1621
</dl><dl compact><dt><b>
1623
<div class="fragment"><pre>decoder != NULL
1624
</pre></div> <div class="fragment"><pre><a class="code" href="OggFLAC_2stream__decoder_8h.html#a19">OggFLAC__stream_decoder_get_state</a>(decoder) == <a class="code" href="OggFLAC_2stream__decoder_8h.html#a33a5">OggFLAC__STREAM_DECODER_OK</a>
1625
</pre></div> </dl><dl compact><dt><b>
1626
Return values: </b><dd>
1627
<table border=0 cellspacing=2 cellpadding=0>
1628
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1629
<code>false</code> if any read or write error occurred (except <code>OggFLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)</code>, else <code>true</code>; in any case, check the decoder state with <a class="el" href="group__oggflac__stream__decoder.html#a19">OggFLAC__stream_decoder_get_state</a>() to see what went wrong or to check for lost synchronization (a sign of stream corruption). </td></tr>
1634
<hr><h2>Variable Documentation</h2>
1635
<a name="a0" doxytag="stream_decoder.h::OggFLAC__StreamDecoderStateString"></a><p>
1636
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1639
<table cellpadding="0" cellspacing="0" border="0">
1641
<td class="md" nowrap valign="top"> OggFLAC_API const char* const OggFLAC__StreamDecoderStateString[]
1646
<table cellspacing=5 cellpadding=0 border=0>
1654
Maps an OggFLAC__StreamDecoderState to a C string.
1656
Using an OggFLAC__StreamDecoderState as the index to this array will give the string equivalent. The contents should not be modified. </td>
1659
<hr><address><small>Generated on Sat Jan 25 10:44:58 2003 for FLAC by
1660
<a href="http://www.doxygen.org/index.html">
1661
<img src="doxygen.gif" alt="doxygen" align="middle" border=0
1662
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
1663
© 1997-2002</small></address>