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#a37">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#a38">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#a39">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#a34">OggFLAC__StreamDecoderState</a> { <br>
23
<a class="el" href="group__oggflac__stream__decoder.html#a34a5">OggFLAC__STREAM_DECODER_OK</a> = 0,
24
<a class="el" href="group__oggflac__stream__decoder.html#a34a6">OggFLAC__STREAM_DECODER_END_OF_STREAM</a>,
25
<a class="el" href="group__oggflac__stream__decoder.html#a34a7">OggFLAC__STREAM_DECODER_OGG_ERROR</a>,
26
<a class="el" href="group__oggflac__stream__decoder.html#a34a8">OggFLAC__STREAM_DECODER_READ_ERROR</a>,
28
<a class="el" href="group__oggflac__stream__decoder.html#a34a9">OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</a>,
29
<a class="el" href="group__oggflac__stream__decoder.html#a34a10">OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
30
<a class="el" href="group__oggflac__stream__decoder.html#a34a11">OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED</a>,
31
<a class="el" href="group__oggflac__stream__decoder.html#a34a12">OggFLAC__STREAM_DECODER_INVALID_CALLBACK</a>,
33
<a class="el" href="group__oggflac__stream__decoder.html#a34a13">OggFLAC__STREAM_DECODER_UNINITIALIZED</a>
36
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
37
<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>
38
<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>
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#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>
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#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>
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#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>
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#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>
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#a11">OggFLAC__stream_decoder_set_client_data</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, void *value)</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#a12">OggFLAC__stream_decoder_set_serial_number</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder, long serial_number)</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#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#a97">FLAC__MetadataType</a> type)</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#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>
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#a15">OggFLAC__stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</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#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#a97">FLAC__MetadataType</a> type)</td></tr>
49
<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>
50
<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>
51
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a34">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>
52
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__flac__stream__decoder.html#a36">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>
53
<tr><td nowrap align=right valign=top>OggFLAC_API const char * </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a21">OggFLAC__stream_decoder_get_resolved_state_string</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#a22">OggFLAC__stream_decoder_get_channels</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 <a class="el" href="group__flac__format.html#a95">FLAC__ChannelAssignment</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a23">OggFLAC__stream_decoder_get_channel_assignment</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 unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a24">OggFLAC__stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
57
<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_sample_rate</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
58
<tr><td nowrap align=right valign=top>OggFLAC_API unsigned </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a26">OggFLAC__stream_decoder_get_blocksize</a> (const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
59
<tr><td nowrap align=right valign=top>OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a34">OggFLAC__StreamDecoderState</a> </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a27">OggFLAC__stream_decoder_init</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
60
<tr><td nowrap align=right valign=top>OggFLAC_API void </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a28">OggFLAC__stream_decoder_finish</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#a29">OggFLAC__stream_decoder_flush</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#a30">OggFLAC__stream_decoder_reset</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
63
<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_single</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
64
<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_metadata</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
65
<tr><td nowrap align=right valign=top>OggFLAC_API FLAC__bool </td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a33">OggFLAC__stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *decoder)</td></tr>
66
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
67
<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>
69
<hr><a name="_details"></a><h2>Detailed Description</h2>
70
This module contains the functions which implement the stream decoder.
74
The interface here is nearly identical to FLAC's stream decoder, including the callbacks, with the addition of <a class="el" href="group__oggflac__stream__decoder.html#a12">OggFLAC__stream_decoder_set_serial_number</a>(). See the <a class="el" href="group__flac__stream__decoder.html">FLAC stream decoder module</a> for full documentation. <hr><h2>Typedef Documentation</h2>
75
<a name="a1" doxytag="stream_decoder.h::OggFLAC__StreamDecoderReadCallback"></a><p>
76
<table width="100%" cellpadding="2" cellspacing="0" border="0">
79
<table cellpadding="0" cellspacing="0" border="0">
81
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__stream__decoder.html#a37">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)
86
<table cellspacing=5 cellpadding=0 border=0>
94
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>
96
<table border=0 cellspacing=2 cellpadding=0>
97
<tr><td valign=top><em>decoder</em> </td><td>
98
The decoder instance calling the callback. </td></tr>
99
<tr><td valign=top><em>buffer</em> </td><td>
100
A pointer to a location for the callee to store data to be decoded. </td></tr>
101
<tr><td valign=top><em>bytes</em> </td><td>
102
A pointer to the size of the buffer. On entry to the callback, it contains the maximum number of bytes that may be stored in <em>buffer</em>. The callee must set it to the actual number of bytes stored before returning. </td></tr>
103
<tr><td valign=top><em>client_data</em> </td><td>
104
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>
106
</dl><dl compact><dt><b>
107
Return values: </b><dd>
108
<table border=0 cellspacing=2 cellpadding=0>
109
<tr><td valign=top><em>FLAC__StreamDecoderReadStatus</em> </td><td>
110
The callee's return status. </td></tr>
115
<a name="a2" doxytag="stream_decoder.h::OggFLAC__StreamDecoderWriteCallback"></a><p>
116
<table width="100%" cellpadding="2" cellspacing="0" border="0">
119
<table cellpadding="0" cellspacing="0" border="0">
121
<td class="md" nowrap valign="top"> typedef <a class="el" href="group__flac__stream__decoder.html#a38">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)
126
<table cellspacing=5 cellpadding=0 border=0>
134
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>
136
<table border=0 cellspacing=2 cellpadding=0>
137
<tr><td valign=top><em>decoder</em> </td><td>
138
The decoder instance calling the callback. </td></tr>
139
<tr><td valign=top><em>frame</em> </td><td>
140
The description of the decoded frame. See <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>. </td></tr>
141
<tr><td valign=top><em>buffer</em> </td><td>
142
An array of pointers to decoded channels of data. Each pointer will point to an array of signed samples of length <em>frame->header.blocksize</em>. Currently, the channel order has no meaning except for stereo streams; in this case channel 0 is left and 1 is right. </td></tr>
143
<tr><td valign=top><em>client_data</em> </td><td>
144
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>
146
</dl><dl compact><dt><b>
147
Return values: </b><dd>
148
<table border=0 cellspacing=2 cellpadding=0>
149
<tr><td valign=top><em>FLAC__StreamDecoderWriteStatus</em> </td><td>
150
The callee's return status. </td></tr>
155
<a name="a3" doxytag="stream_decoder.h::OggFLAC__StreamDecoderMetadataCallback"></a><p>
156
<table width="100%" cellpadding="2" cellspacing="0" border="0">
159
<table cellpadding="0" cellspacing="0" border="0">
161
<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)
166
<table cellspacing=5 cellpadding=0 border=0>
174
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>
176
<table border=0 cellspacing=2 cellpadding=0>
177
<tr><td valign=top><em>decoder</em> </td><td>
178
The decoder instance calling the callback. </td></tr>
179
<tr><td valign=top><em>metadata</em> </td><td>
180
The decoded metadata block. </td></tr>
181
<tr><td valign=top><em>client_data</em> </td><td>
182
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>
187
<a name="a4" doxytag="stream_decoder.h::OggFLAC__StreamDecoderErrorCallback"></a><p>
188
<table width="100%" cellpadding="2" cellspacing="0" border="0">
191
<table cellpadding="0" cellspacing="0" border="0">
193
<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#a39">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)
198
<table cellspacing=5 cellpadding=0 border=0>
206
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>
208
<table border=0 cellspacing=2 cellpadding=0>
209
<tr><td valign=top><em>decoder</em> </td><td>
210
The decoder instance calling the callback. </td></tr>
211
<tr><td valign=top><em>status</em> </td><td>
212
The error encountered by the decoder. </td></tr>
213
<tr><td valign=top><em>client_data</em> </td><td>
214
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>
219
<hr><h2>Enumeration Type Documentation</h2>
220
<a name="a34" doxytag="stream_decoder.h::OggFLAC__StreamDecoderState"></a><p>
221
<table width="100%" cellpadding="2" cellspacing="0" border="0">
224
<table cellpadding="0" cellspacing="0" border="0">
226
<td class="md" nowrap valign="top"> enum OggFLAC__StreamDecoderState
231
<table cellspacing=5 cellpadding=0 border=0>
239
State values for an <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a>
241
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>
242
Enumeration values:</b><dd>
243
<table border=0 cellspacing=2 cellpadding=0>
244
<tr><td valign=top><em><a name="a34a5" doxytag="OggFLAC__STREAM_DECODER_OK"></a><em>OggFLAC__STREAM_DECODER_OK</em></em> </td><td>
245
The decoder is in the normal OK state. </td></tr>
246
<tr><td valign=top><em><a name="a34a6" doxytag="OggFLAC__STREAM_DECODER_END_OF_STREAM"></a><em>OggFLAC__STREAM_DECODER_END_OF_STREAM</em></em> </td><td>
247
The decoder has reached the end of the stream. </td></tr>
248
<tr><td valign=top><em><a name="a34a7" doxytag="OggFLAC__STREAM_DECODER_OGG_ERROR"></a><em>OggFLAC__STREAM_DECODER_OGG_ERROR</em></em> </td><td>
249
An error occurred in the underlying Ogg layer. </td></tr>
250
<tr><td valign=top><em><a name="a34a8" doxytag="OggFLAC__STREAM_DECODER_READ_ERROR"></a><em>OggFLAC__STREAM_DECODER_READ_ERROR</em></em> </td><td>
251
The read callback returned an error. </td></tr>
252
<tr><td valign=top><em><a name="a34a9" doxytag="OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR"></a><em>OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</em></em> </td><td>
253
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>
254
<tr><td valign=top><em><a name="a34a10" doxytag="OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR"></a><em>OggFLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</em></em> </td><td>
255
Memory allocation failed. </td></tr>
256
<tr><td valign=top><em><a name="a34a11" doxytag="OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED"></a><em>OggFLAC__STREAM_DECODER_ALREADY_INITIALIZED</em></em> </td><td>
257
<a class="el" href="group__oggflac__stream__decoder.html#a27">OggFLAC__stream_decoder_init</a>() was called when the decoder was already initialized, usually because <a class="el" href="group__oggflac__stream__decoder.html#a28">OggFLAC__stream_decoder_finish</a>() was not called. </td></tr>
258
<tr><td valign=top><em><a name="a34a12" doxytag="OggFLAC__STREAM_DECODER_INVALID_CALLBACK"></a><em>OggFLAC__STREAM_DECODER_INVALID_CALLBACK</em></em> </td><td>
259
The decoder was initialized before setting all the required callbacks. </td></tr>
260
<tr><td valign=top><em><a name="a34a13" doxytag="OggFLAC__STREAM_DECODER_UNINITIALIZED"></a><em>OggFLAC__STREAM_DECODER_UNINITIALIZED</em></em> </td><td>
261
The decoder is in the uninitialized state. </td></tr>
267
<hr><h2>Function Documentation</h2>
268
<a name="a5" doxytag="stream_decoder.h::OggFLAC__stream_decoder_new"></a><p>
269
<table width="100%" cellpadding="2" cellspacing="0" border="0">
272
<table cellpadding="0" cellspacing="0" border="0">
274
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a>* OggFLAC__stream_decoder_new </td>
275
<td class="md" valign="top">( </td>
276
<td class="mdname1" valign="top" nowrap> </td>
277
<td class="md" valign="top">) </td>
278
<td class="md" nowrap></td>
285
<table cellspacing=5 cellpadding=0 border=0>
293
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>
294
Return values: </b><dd>
295
<table border=0 cellspacing=2 cellpadding=0>
296
<tr><td valign=top><em><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a></em> </td><td>
297
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
302
<a name="a6" doxytag="stream_decoder.h::OggFLAC__stream_decoder_delete"></a><p>
303
<table width="100%" cellpadding="2" cellspacing="0" border="0">
306
<table cellpadding="0" cellspacing="0" border="0">
308
<td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_delete </td>
309
<td class="md" valign="top">( </td>
310
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
311
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
312
<td class="md" valign="top">) </td>
313
<td class="md" nowrap></td>
320
<table cellspacing=5 cellpadding=0 border=0>
328
Free a decoder instance. Deletes the object pointed to by <em>decoder</em>.<dl compact><dt><b>
330
<table border=0 cellspacing=2 cellpadding=0>
331
<tr><td valign=top><em>decoder</em> </td><td>
332
A pointer to an existing decoder. </td></tr>
334
</dl><dl compact><dt><b>
336
<div class="fragment"><pre>decoder != NULL
337
</pre></div> </dl> </td>
340
<a name="a7" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_read_callback"></a><p>
341
<table width="100%" cellpadding="2" cellspacing="0" border="0">
344
<table cellpadding="0" cellspacing="0" border="0">
346
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_read_callback </td>
347
<td class="md" valign="top">( </td>
348
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
349
<td class="mdname" nowrap> <em>decoder</em>, </td>
354
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a1">OggFLAC__StreamDecoderReadCallback</a> </td>
355
<td class="mdname" nowrap> <em>value</em></td>
359
<td class="md">) </td>
360
<td class="md" colspan="2"></td>
367
<table cellspacing=5 cellpadding=0 border=0>
375
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>()
379
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
380
Default Value:</b><dd>
381
<code>NULL</code> </dl><dl compact><dt><b>
383
<table border=0 cellspacing=2 cellpadding=0>
384
<tr><td valign=top><em>decoder</em> </td><td>
385
A decoder instance to set. </td></tr>
386
<tr><td valign=top><em>value</em> </td><td>
387
See above. </td></tr>
389
</dl><dl compact><dt><b>
391
<div class="fragment"><pre>decoder != NULL
392
</pre></div> <div class="fragment"><pre>value != NULL
393
</pre></div> </dl><dl compact><dt><b>
394
Return values: </b><dd>
395
<table border=0 cellspacing=2 cellpadding=0>
396
<tr><td valign=top><em>FLAC__bool</em> </td><td>
397
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
402
<a name="a8" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_write_callback"></a><p>
403
<table width="100%" cellpadding="2" cellspacing="0" border="0">
406
<table cellpadding="0" cellspacing="0" border="0">
408
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_write_callback </td>
409
<td class="md" valign="top">( </td>
410
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
411
<td class="mdname" nowrap> <em>decoder</em>, </td>
416
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a2">OggFLAC__StreamDecoderWriteCallback</a> </td>
417
<td class="mdname" nowrap> <em>value</em></td>
421
<td class="md">) </td>
422
<td class="md" colspan="2"></td>
429
<table cellspacing=5 cellpadding=0 border=0>
437
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>()
441
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
442
Default Value:</b><dd>
443
<code>NULL</code> </dl><dl compact><dt><b>
445
<table border=0 cellspacing=2 cellpadding=0>
446
<tr><td valign=top><em>decoder</em> </td><td>
447
A decoder instance to set. </td></tr>
448
<tr><td valign=top><em>value</em> </td><td>
449
See above. </td></tr>
451
</dl><dl compact><dt><b>
453
<div class="fragment"><pre>decoder != NULL
454
</pre></div> <div class="fragment"><pre>value != NULL
455
</pre></div> </dl><dl compact><dt><b>
456
Return values: </b><dd>
457
<table border=0 cellspacing=2 cellpadding=0>
458
<tr><td valign=top><em>FLAC__bool</em> </td><td>
459
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
464
<a name="a9" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_callback"></a><p>
465
<table width="100%" cellpadding="2" cellspacing="0" border="0">
468
<table cellpadding="0" cellspacing="0" border="0">
470
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_callback </td>
471
<td class="md" valign="top">( </td>
472
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
473
<td class="mdname" nowrap> <em>decoder</em>, </td>
478
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a3">OggFLAC__StreamDecoderMetadataCallback</a> </td>
479
<td class="mdname" nowrap> <em>value</em></td>
483
<td class="md">) </td>
484
<td class="md" colspan="2"></td>
491
<table cellspacing=5 cellpadding=0 border=0>
499
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>()
503
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
504
Default Value:</b><dd>
505
<code>NULL</code> </dl><dl compact><dt><b>
507
<table border=0 cellspacing=2 cellpadding=0>
508
<tr><td valign=top><em>decoder</em> </td><td>
509
A decoder instance to set. </td></tr>
510
<tr><td valign=top><em>value</em> </td><td>
511
See above. </td></tr>
513
</dl><dl compact><dt><b>
515
<div class="fragment"><pre>decoder != NULL
516
</pre></div> <div class="fragment"><pre>value != NULL
517
</pre></div> </dl><dl compact><dt><b>
518
Return values: </b><dd>
519
<table border=0 cellspacing=2 cellpadding=0>
520
<tr><td valign=top><em>FLAC__bool</em> </td><td>
521
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
526
<a name="a10" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_error_callback"></a><p>
527
<table width="100%" cellpadding="2" cellspacing="0" border="0">
530
<table cellpadding="0" cellspacing="0" border="0">
532
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_error_callback </td>
533
<td class="md" valign="top">( </td>
534
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
535
<td class="mdname" nowrap> <em>decoder</em>, </td>
540
<td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a4">OggFLAC__StreamDecoderErrorCallback</a> </td>
541
<td class="mdname" nowrap> <em>value</em></td>
545
<td class="md">) </td>
546
<td class="md" colspan="2"></td>
553
<table cellspacing=5 cellpadding=0 border=0>
561
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>()
565
The callback is mandatory and must be set before initialization.</dl><dl compact><dt><b>
566
Default Value:</b><dd>
567
<code>NULL</code> </dl><dl compact><dt><b>
569
<table border=0 cellspacing=2 cellpadding=0>
570
<tr><td valign=top><em>decoder</em> </td><td>
571
A decoder instance to set. </td></tr>
572
<tr><td valign=top><em>value</em> </td><td>
573
See above. </td></tr>
575
</dl><dl compact><dt><b>
577
<div class="fragment"><pre>decoder != NULL
578
</pre></div> <div class="fragment"><pre>value != NULL
579
</pre></div> </dl><dl compact><dt><b>
580
Return values: </b><dd>
581
<table border=0 cellspacing=2 cellpadding=0>
582
<tr><td valign=top><em>FLAC__bool</em> </td><td>
583
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
588
<a name="a11" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_client_data"></a><p>
589
<table width="100%" cellpadding="2" cellspacing="0" border="0">
592
<table cellpadding="0" cellspacing="0" border="0">
594
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_client_data </td>
595
<td class="md" valign="top">( </td>
596
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
597
<td class="mdname" nowrap> <em>decoder</em>, </td>
602
<td class="md" nowrap>void * </td>
603
<td class="mdname" nowrap> <em>value</em></td>
607
<td class="md">) </td>
608
<td class="md" colspan="2"></td>
615
<table cellspacing=5 cellpadding=0 border=0>
623
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>
624
Default Value:</b><dd>
625
<code>NULL</code> </dl><dl compact><dt><b>
627
<table border=0 cellspacing=2 cellpadding=0>
628
<tr><td valign=top><em>decoder</em> </td><td>
629
A decoder instance to set. </td></tr>
630
<tr><td valign=top><em>value</em> </td><td>
631
See above. </td></tr>
633
</dl><dl compact><dt><b>
635
<div class="fragment"><pre>decoder != NULL
636
</pre></div> </dl><dl compact><dt><b>
637
Return values: </b><dd>
638
<table border=0 cellspacing=2 cellpadding=0>
639
<tr><td valign=top><em>FLAC__bool</em> </td><td>
640
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
645
<a name="a12" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_serial_number"></a><p>
646
<table width="100%" cellpadding="2" cellspacing="0" border="0">
649
<table cellpadding="0" cellspacing="0" border="0">
651
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_serial_number </td>
652
<td class="md" valign="top">( </td>
653
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
654
<td class="mdname" nowrap> <em>decoder</em>, </td>
659
<td class="md" nowrap>long </td>
660
<td class="mdname" nowrap> <em>serial_number</em></td>
664
<td class="md">) </td>
665
<td class="md" colspan="2"></td>
672
<table cellspacing=5 cellpadding=0 border=0>
680
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 specify which stream is to be decoded.<dl compact><dt><b>
681
Default Value:</b><dd>
682
<code>use</code> serial number of first page </dl><dl compact><dt><b>
684
<table border=0 cellspacing=2 cellpadding=0>
685
<tr><td valign=top><em>decoder</em> </td><td>
686
A decoder instance to set. </td></tr>
687
<tr><td valign=top><em>serial_number</em> </td><td>
688
See above. </td></tr>
690
</dl><dl compact><dt><b>
692
<div class="fragment"><pre>decoder != NULL
693
</pre></div> </dl><dl compact><dt><b>
694
Return values: </b><dd>
695
<table border=0 cellspacing=2 cellpadding=0>
696
<tr><td valign=top><em>FLAC__bool</em> </td><td>
697
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
702
<a name="a13" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond"></a><p>
703
<table width="100%" cellpadding="2" cellspacing="0" border="0">
706
<table cellpadding="0" cellspacing="0" border="0">
708
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond </td>
709
<td class="md" valign="top">( </td>
710
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
711
<td class="mdname" nowrap> <em>decoder</em>, </td>
716
<td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> </td>
717
<td class="mdname" nowrap> <em>type</em></td>
721
<td class="md">) </td>
722
<td class="md" colspan="2"></td>
729
<table cellspacing=5 cellpadding=0 border=0>
737
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>
738
Default Value:</b><dd>
739
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
741
<table border=0 cellspacing=2 cellpadding=0>
742
<tr><td valign=top><em>decoder</em> </td><td>
743
A decoder instance to set. </td></tr>
744
<tr><td valign=top><em>type</em> </td><td>
745
See above. </td></tr>
747
</dl><dl compact><dt><b>
749
<div class="fragment"><pre>decoder != NULL
750
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
751
Return values: </b><dd>
752
<table border=0 cellspacing=2 cellpadding=0>
753
<tr><td valign=top><em>FLAC__bool</em> </td><td>
754
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
759
<a name="a14" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond_application"></a><p>
760
<table width="100%" cellpadding="2" cellspacing="0" border="0">
763
<table cellpadding="0" cellspacing="0" border="0">
765
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond_application </td>
766
<td class="md" valign="top">( </td>
767
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
768
<td class="mdname" nowrap> <em>decoder</em>, </td>
773
<td class="md" nowrap>const FLAC__byte </td>
774
<td class="mdname" nowrap> <em>id</em>[4]</td>
778
<td class="md">) </td>
779
<td class="md" colspan="2"></td>
786
<table cellspacing=5 cellpadding=0 border=0>
794
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>
795
Default Value:</b><dd>
796
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
798
<table border=0 cellspacing=2 cellpadding=0>
799
<tr><td valign=top><em>decoder</em> </td><td>
800
A decoder instance to set. </td></tr>
801
<tr><td valign=top><em>id</em> </td><td>
802
See above. </td></tr>
804
</dl><dl compact><dt><b>
806
<div class="fragment"><pre>decoder != NULL
807
</pre></div> <div class="fragment"><pre>id != NULL
808
</pre></div> </dl><dl compact><dt><b>
809
Return values: </b><dd>
810
<table border=0 cellspacing=2 cellpadding=0>
811
<tr><td valign=top><em>FLAC__bool</em> </td><td>
812
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
817
<a name="a15" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_respond_all"></a><p>
818
<table width="100%" cellpadding="2" cellspacing="0" border="0">
821
<table cellpadding="0" cellspacing="0" border="0">
823
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond_all </td>
824
<td class="md" valign="top">( </td>
825
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
826
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
827
<td class="md" valign="top">) </td>
828
<td class="md" nowrap></td>
835
<table cellspacing=5 cellpadding=0 border=0>
843
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>
844
Default Value:</b><dd>
845
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
847
<table border=0 cellspacing=2 cellpadding=0>
848
<tr><td valign=top><em>decoder</em> </td><td>
849
A decoder instance to set. </td></tr>
851
</dl><dl compact><dt><b>
853
<div class="fragment"><pre>decoder != NULL
854
</pre></div> </dl><dl compact><dt><b>
855
Return values: </b><dd>
856
<table border=0 cellspacing=2 cellpadding=0>
857
<tr><td valign=top><em>FLAC__bool</em> </td><td>
858
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
863
<a name="a16" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore"></a><p>
864
<table width="100%" cellpadding="2" cellspacing="0" border="0">
867
<table cellpadding="0" cellspacing="0" border="0">
869
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore </td>
870
<td class="md" valign="top">( </td>
871
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
872
<td class="mdname" nowrap> <em>decoder</em>, </td>
877
<td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> </td>
878
<td class="mdname" nowrap> <em>type</em></td>
882
<td class="md">) </td>
883
<td class="md" colspan="2"></td>
890
<table cellspacing=5 cellpadding=0 border=0>
898
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>
899
Default Value:</b><dd>
900
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
902
<table border=0 cellspacing=2 cellpadding=0>
903
<tr><td valign=top><em>decoder</em> </td><td>
904
A decoder instance to set. </td></tr>
905
<tr><td valign=top><em>type</em> </td><td>
906
See above. </td></tr>
908
</dl><dl compact><dt><b>
910
<div class="fragment"><pre>decoder != NULL
911
</pre></div> <em>type</em> is valid </dl><dl compact><dt><b>
912
Return values: </b><dd>
913
<table border=0 cellspacing=2 cellpadding=0>
914
<tr><td valign=top><em>FLAC__bool</em> </td><td>
915
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
920
<a name="a17" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore_application"></a><p>
921
<table width="100%" cellpadding="2" cellspacing="0" border="0">
924
<table cellpadding="0" cellspacing="0" border="0">
926
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore_application </td>
927
<td class="md" valign="top">( </td>
928
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
929
<td class="mdname" nowrap> <em>decoder</em>, </td>
934
<td class="md" nowrap>const FLAC__byte </td>
935
<td class="mdname" nowrap> <em>id</em>[4]</td>
939
<td class="md">) </td>
940
<td class="md" colspan="2"></td>
947
<table cellspacing=5 cellpadding=0 border=0>
955
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>
956
Default Value:</b><dd>
957
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
959
<table border=0 cellspacing=2 cellpadding=0>
960
<tr><td valign=top><em>decoder</em> </td><td>
961
A decoder instance to set. </td></tr>
962
<tr><td valign=top><em>id</em> </td><td>
963
See above. </td></tr>
965
</dl><dl compact><dt><b>
967
<div class="fragment"><pre>decoder != NULL
968
</pre></div> <div class="fragment"><pre>id != NULL
969
</pre></div> </dl><dl compact><dt><b>
970
Return values: </b><dd>
971
<table border=0 cellspacing=2 cellpadding=0>
972
<tr><td valign=top><em>FLAC__bool</em> </td><td>
973
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
978
<a name="a18" doxytag="stream_decoder.h::OggFLAC__stream_decoder_set_metadata_ignore_all"></a><p>
979
<table width="100%" cellpadding="2" cellspacing="0" border="0">
982
<table cellpadding="0" cellspacing="0" border="0">
984
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore_all </td>
985
<td class="md" valign="top">( </td>
986
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
987
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
988
<td class="md" valign="top">) </td>
989
<td class="md" nowrap></td>
996
<table cellspacing=5 cellpadding=0 border=0>
1004
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>
1005
Default Value:</b><dd>
1006
By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dl><dl compact><dt><b>
1007
Parameters: </b><dd>
1008
<table border=0 cellspacing=2 cellpadding=0>
1009
<tr><td valign=top><em>decoder</em> </td><td>
1010
A decoder instance to set. </td></tr>
1012
</dl><dl compact><dt><b>
1014
<div class="fragment"><pre>decoder != NULL
1015
</pre></div> </dl><dl compact><dt><b>
1016
Return values: </b><dd>
1017
<table border=0 cellspacing=2 cellpadding=0>
1018
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1019
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1024
<a name="a19" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_state"></a><p>
1025
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1028
<table cellpadding="0" cellspacing="0" border="0">
1030
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a34">OggFLAC__StreamDecoderState</a> OggFLAC__stream_decoder_get_state </td>
1031
<td class="md" valign="top">( </td>
1032
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1033
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1034
<td class="md" valign="top">) </td>
1035
<td class="md" nowrap></td>
1042
<table cellspacing=5 cellpadding=0 border=0>
1050
Get the current decoder state.<dl compact><dt><b>
1051
Parameters: </b><dd>
1052
<table border=0 cellspacing=2 cellpadding=0>
1053
<tr><td valign=top><em>decoder</em> </td><td>
1054
A decoder instance to query. </td></tr>
1056
</dl><dl compact><dt><b>
1058
<div class="fragment"><pre>decoder != NULL
1059
</pre></div> </dl><dl compact><dt><b>
1060
Return values: </b><dd>
1061
<table border=0 cellspacing=2 cellpadding=0>
1062
<tr><td valign=top><em>OggFLAC__StreamDecoderState</em> </td><td>
1063
The current decoder state. </td></tr>
1068
<a name="a20" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_FLAC_stream_decoder_state"></a><p>
1069
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1072
<table cellpadding="0" cellspacing="0" border="0">
1074
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__flac__stream__decoder.html#a36">FLAC__StreamDecoderState</a> OggFLAC__stream_decoder_get_FLAC_stream_decoder_state </td>
1075
<td class="md" valign="top">( </td>
1076
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1077
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1078
<td class="md" valign="top">) </td>
1079
<td class="md" nowrap></td>
1086
<table cellspacing=5 cellpadding=0 border=0>
1094
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>
1095
Parameters: </b><dd>
1096
<table border=0 cellspacing=2 cellpadding=0>
1097
<tr><td valign=top><em>decoder</em> </td><td>
1098
A decoder instance to query. </td></tr>
1100
</dl><dl compact><dt><b>
1102
<div class="fragment"><pre>decoder != NULL
1103
</pre></div> </dl><dl compact><dt><b>
1104
Return values: </b><dd>
1105
<table border=0 cellspacing=2 cellpadding=0>
1106
<tr><td valign=top><em>FLAC__StreamDecoderState</em> </td><td>
1107
The FLAC stream decoder state. </td></tr>
1112
<a name="a21" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_resolved_state_string"></a><p>
1113
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1116
<table cellpadding="0" cellspacing="0" border="0">
1118
<td class="md" nowrap valign="top"> OggFLAC_API const char* OggFLAC__stream_decoder_get_resolved_state_string </td>
1119
<td class="md" valign="top">( </td>
1120
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1121
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1122
<td class="md" valign="top">) </td>
1123
<td class="md" nowrap></td>
1130
<table cellspacing=5 cellpadding=0 border=0>
1138
Get the current decoder state as a C string. This version automatically resolves <code>OggFLAC__STREAM_DECODER_FLAC_STREAM_DECODER_ERROR</code> by getting the FLAC stream decoder's state.<dl compact><dt><b>
1139
Parameters: </b><dd>
1140
<table border=0 cellspacing=2 cellpadding=0>
1141
<tr><td valign=top><em>decoder</em> </td><td>
1142
A decoder instance to query. </td></tr>
1144
</dl><dl compact><dt><b>
1146
<div class="fragment"><pre>decoder != NULL
1147
</pre></div> </dl><dl compact><dt><b>
1148
Return values: </b><dd>
1149
<table border=0 cellspacing=2 cellpadding=0>
1150
<tr><td valign=top><em>const</em> </td><td>
1151
char * The decoder state as a C string. Do not modify the contents. </td></tr>
1156
<a name="a22" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_channels"></a><p>
1157
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1160
<table cellpadding="0" cellspacing="0" border="0">
1162
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_channels </td>
1163
<td class="md" valign="top">( </td>
1164
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1165
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1166
<td class="md" valign="top">) </td>
1167
<td class="md" nowrap></td>
1174
<table cellspacing=5 cellpadding=0 border=0>
1182
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_channels</a>()<dl compact><dt><b>
1183
Parameters: </b><dd>
1184
<table border=0 cellspacing=2 cellpadding=0>
1185
<tr><td valign=top><em>decoder</em> </td><td>
1186
A decoder instance to query. </td></tr>
1188
</dl><dl compact><dt><b>
1190
<div class="fragment"><pre>decoder != NULL
1191
</pre></div> </dl><dl compact><dt><b>
1192
Return values: </b><dd>
1193
<table border=0 cellspacing=2 cellpadding=0>
1194
<tr><td valign=top><em>unsigned</em> </td><td>
1195
See above. </td></tr>
1200
<a name="a23" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_channel_assignment"></a><p>
1201
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1204
<table cellpadding="0" cellspacing="0" border="0">
1206
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__flac__format.html#a95">FLAC__ChannelAssignment</a> OggFLAC__stream_decoder_get_channel_assignment </td>
1207
<td class="md" valign="top">( </td>
1208
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1209
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1210
<td class="md" valign="top">) </td>
1211
<td class="md" nowrap></td>
1218
<table cellspacing=5 cellpadding=0 border=0>
1226
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_channel_assignment</a>()<dl compact><dt><b>
1227
Parameters: </b><dd>
1228
<table border=0 cellspacing=2 cellpadding=0>
1229
<tr><td valign=top><em>decoder</em> </td><td>
1230
A decoder instance to query. </td></tr>
1232
</dl><dl compact><dt><b>
1234
<div class="fragment"><pre>decoder != NULL
1235
</pre></div> </dl><dl compact><dt><b>
1236
Return values: </b><dd>
1237
<table border=0 cellspacing=2 cellpadding=0>
1238
<tr><td valign=top><em>OggFLAC__ChannelAssignment</em> </td><td>
1239
See above. </td></tr>
1244
<a name="a24" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_bits_per_sample"></a><p>
1245
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1248
<table cellpadding="0" cellspacing="0" border="0">
1250
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_bits_per_sample </td>
1251
<td class="md" valign="top">( </td>
1252
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1253
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1254
<td class="md" valign="top">) </td>
1255
<td class="md" nowrap></td>
1262
<table cellspacing=5 cellpadding=0 border=0>
1270
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_bits_per_sample</a>()<dl compact><dt><b>
1271
Parameters: </b><dd>
1272
<table border=0 cellspacing=2 cellpadding=0>
1273
<tr><td valign=top><em>decoder</em> </td><td>
1274
A decoder instance to query. </td></tr>
1276
</dl><dl compact><dt><b>
1278
<div class="fragment"><pre>decoder != NULL
1279
</pre></div> </dl><dl compact><dt><b>
1280
Return values: </b><dd>
1281
<table border=0 cellspacing=2 cellpadding=0>
1282
<tr><td valign=top><em>unsigned</em> </td><td>
1283
See above. </td></tr>
1288
<a name="a25" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_sample_rate"></a><p>
1289
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1292
<table cellpadding="0" cellspacing="0" border="0">
1294
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_sample_rate </td>
1295
<td class="md" valign="top">( </td>
1296
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1297
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1298
<td class="md" valign="top">) </td>
1299
<td class="md" nowrap></td>
1306
<table cellspacing=5 cellpadding=0 border=0>
1314
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_sample_rate</a>()<dl compact><dt><b>
1315
Parameters: </b><dd>
1316
<table border=0 cellspacing=2 cellpadding=0>
1317
<tr><td valign=top><em>decoder</em> </td><td>
1318
A decoder instance to query. </td></tr>
1320
</dl><dl compact><dt><b>
1322
<div class="fragment"><pre>decoder != NULL
1323
</pre></div> </dl><dl compact><dt><b>
1324
Return values: </b><dd>
1325
<table border=0 cellspacing=2 cellpadding=0>
1326
<tr><td valign=top><em>unsigned</em> </td><td>
1327
See above. </td></tr>
1332
<a name="a26" doxytag="stream_decoder.h::OggFLAC__stream_decoder_get_blocksize"></a><p>
1333
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1336
<table cellpadding="0" cellspacing="0" border="0">
1338
<td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_blocksize </td>
1339
<td class="md" valign="top">( </td>
1340
<td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1341
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1342
<td class="md" valign="top">) </td>
1343
<td class="md" nowrap></td>
1350
<table cellspacing=5 cellpadding=0 border=0>
1358
This is inherited from <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>; see <a class="el" href="group__flac__stream__decoder.html#a27">FLAC__stream_decoder_get_blocksize</a>()<dl compact><dt><b>
1359
Parameters: </b><dd>
1360
<table border=0 cellspacing=2 cellpadding=0>
1361
<tr><td valign=top><em>decoder</em> </td><td>
1362
A decoder instance to query. </td></tr>
1364
</dl><dl compact><dt><b>
1366
<div class="fragment"><pre>decoder != NULL
1367
</pre></div> </dl><dl compact><dt><b>
1368
Return values: </b><dd>
1369
<table border=0 cellspacing=2 cellpadding=0>
1370
<tr><td valign=top><em>unsigned</em> </td><td>
1371
See above. </td></tr>
1376
<a name="a27" doxytag="stream_decoder.h::OggFLAC__stream_decoder_init"></a><p>
1377
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1380
<table cellpadding="0" cellspacing="0" border="0">
1382
<td class="md" nowrap valign="top"> OggFLAC_API <a class="el" href="group__oggflac__stream__decoder.html#a34">OggFLAC__StreamDecoderState</a> OggFLAC__stream_decoder_init </td>
1383
<td class="md" valign="top">( </td>
1384
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1385
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1386
<td class="md" valign="top">) </td>
1387
<td class="md" nowrap></td>
1394
<table cellspacing=5 cellpadding=0 border=0>
1402
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>
1403
Parameters: </b><dd>
1404
<table border=0 cellspacing=2 cellpadding=0>
1405
<tr><td valign=top><em>decoder</em> </td><td>
1406
An uninitialized decoder instance. </td></tr>
1408
</dl><dl compact><dt><b>
1410
<div class="fragment"><pre>decoder != NULL
1411
</pre></div> </dl><dl compact><dt><b>
1412
Return values: </b><dd>
1413
<table border=0 cellspacing=2 cellpadding=0>
1414
<tr><td valign=top><em>OggFLAC__StreamDecoderState</em> </td><td>
1415
<code>OggFLAC__STREAM_DECODER_OK</code> if initialization was successful; see OggFLAC__StreamDecoderState for the meanings of other return values. </td></tr>
1420
<a name="a28" doxytag="stream_decoder.h::OggFLAC__stream_decoder_finish"></a><p>
1421
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1424
<table cellpadding="0" cellspacing="0" border="0">
1426
<td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_finish </td>
1427
<td class="md" valign="top">( </td>
1428
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1429
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1430
<td class="md" valign="top">) </td>
1431
<td class="md" nowrap></td>
1438
<table cellspacing=5 cellpadding=0 border=0>
1446
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.
1448
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#a27">OggFLAC__stream_decoder_init</a>() with an <a class="el" href="group__oggflac__stream__decoder.html#a28">OggFLAC__stream_decoder_finish</a>().<dl compact><dt><b>
1449
Parameters: </b><dd>
1450
<table border=0 cellspacing=2 cellpadding=0>
1451
<tr><td valign=top><em>decoder</em> </td><td>
1452
An uninitialized decoder instance. </td></tr>
1454
</dl><dl compact><dt><b>
1456
<div class="fragment"><pre>decoder != NULL
1457
</pre></div> </dl> </td>
1460
<a name="a29" doxytag="stream_decoder.h::OggFLAC__stream_decoder_flush"></a><p>
1461
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1464
<table cellpadding="0" cellspacing="0" border="0">
1466
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_flush </td>
1467
<td class="md" valign="top">( </td>
1468
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1469
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1470
<td class="md" valign="top">) </td>
1471
<td class="md" nowrap></td>
1478
<table cellspacing=5 cellpadding=0 border=0>
1486
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_flush</a>()<dl compact><dt><b>
1487
Parameters: </b><dd>
1488
<table border=0 cellspacing=2 cellpadding=0>
1489
<tr><td valign=top><em>decoder</em> </td><td>
1490
A decoder instance. </td></tr>
1492
</dl><dl compact><dt><b>
1494
<div class="fragment"><pre>decoder != NULL
1495
</pre></div> </dl><dl compact><dt><b>
1496
Return values: </b><dd>
1497
<table border=0 cellspacing=2 cellpadding=0>
1498
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1499
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1504
<a name="a30" doxytag="stream_decoder.h::OggFLAC__stream_decoder_reset"></a><p>
1505
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1508
<table cellpadding="0" cellspacing="0" border="0">
1510
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_reset </td>
1511
<td class="md" valign="top">( </td>
1512
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1513
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1514
<td class="md" valign="top">) </td>
1515
<td class="md" nowrap></td>
1522
<table cellspacing=5 cellpadding=0 border=0>
1530
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_reset</a>()<dl compact><dt><b>
1531
Parameters: </b><dd>
1532
<table border=0 cellspacing=2 cellpadding=0>
1533
<tr><td valign=top><em>decoder</em> </td><td>
1534
A decoder instance. </td></tr>
1536
</dl><dl compact><dt><b>
1538
<div class="fragment"><pre>decoder != NULL
1539
</pre></div> </dl><dl compact><dt><b>
1540
Return values: </b><dd>
1541
<table border=0 cellspacing=2 cellpadding=0>
1542
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1543
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1548
<a name="a31" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_single"></a><p>
1549
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1552
<table cellpadding="0" cellspacing="0" border="0">
1554
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_single </td>
1555
<td class="md" valign="top">( </td>
1556
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1557
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1558
<td class="md" valign="top">) </td>
1559
<td class="md" nowrap></td>
1566
<table cellspacing=5 cellpadding=0 border=0>
1574
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#a32">FLAC__stream_decoder_process_single</a>()<dl compact><dt><b>
1575
Parameters: </b><dd>
1576
<table border=0 cellspacing=2 cellpadding=0>
1577
<tr><td valign=top><em>decoder</em> </td><td>
1578
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1580
</dl><dl compact><dt><b>
1582
<div class="fragment"><pre>decoder != NULL
1583
</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#a34a5">OggFLAC__STREAM_DECODER_OK</a>
1584
</pre></div> </dl><dl compact><dt><b>
1585
Return values: </b><dd>
1586
<table border=0 cellspacing=2 cellpadding=0>
1587
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1588
<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>
1593
<a name="a32" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_until_end_of_metadata"></a><p>
1594
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1597
<table cellpadding="0" cellspacing="0" border="0">
1599
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_until_end_of_metadata </td>
1600
<td class="md" valign="top">( </td>
1601
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1602
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1603
<td class="md" valign="top">) </td>
1604
<td class="md" nowrap></td>
1611
<table cellspacing=5 cellpadding=0 border=0>
1619
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#a33">FLAC__stream_decoder_process_until_end_of_metadata</a>()<dl compact><dt><b>
1620
Parameters: </b><dd>
1621
<table border=0 cellspacing=2 cellpadding=0>
1622
<tr><td valign=top><em>decoder</em> </td><td>
1623
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1625
</dl><dl compact><dt><b>
1627
<div class="fragment"><pre>decoder != NULL
1628
</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#a34a5">OggFLAC__STREAM_DECODER_OK</a>
1629
</pre></div> </dl><dl compact><dt><b>
1630
Return values: </b><dd>
1631
<table border=0 cellspacing=2 cellpadding=0>
1632
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1633
<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>
1638
<a name="a33" doxytag="stream_decoder.h::OggFLAC__stream_decoder_process_until_end_of_stream"></a><p>
1639
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1642
<table cellpadding="0" cellspacing="0" border="0">
1644
<td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_until_end_of_stream </td>
1645
<td class="md" valign="top">( </td>
1646
<td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> * </td>
1647
<td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
1648
<td class="md" valign="top">) </td>
1649
<td class="md" nowrap></td>
1656
<table cellspacing=5 cellpadding=0 border=0>
1664
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#a34">FLAC__stream_decoder_process_until_end_of_stream</a>()<dl compact><dt><b>
1665
Parameters: </b><dd>
1666
<table border=0 cellspacing=2 cellpadding=0>
1667
<tr><td valign=top><em>decoder</em> </td><td>
1668
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1670
</dl><dl compact><dt><b>
1672
<div class="fragment"><pre>decoder != NULL
1673
</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#a34a5">OggFLAC__STREAM_DECODER_OK</a>
1674
</pre></div> </dl><dl compact><dt><b>
1675
Return values: </b><dd>
1676
<table border=0 cellspacing=2 cellpadding=0>
1677
<tr><td valign=top><em>FLAC__bool</em> </td><td>
1678
<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>
1683
<hr><h2>Variable Documentation</h2>
1684
<a name="a0" doxytag="stream_decoder.h::OggFLAC__StreamDecoderStateString"></a><p>
1685
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1688
<table cellpadding="0" cellspacing="0" border="0">
1690
<td class="md" nowrap valign="top"> OggFLAC_API const char* const OggFLAC__StreamDecoderStateString[]
1695
<table cellspacing=5 cellpadding=0 border=0>
1703
Maps an OggFLAC__StreamDecoderState to a C string.
1705
Using an OggFLAC__StreamDecoderState as the index to this array will give the string equivalent. The contents should not be modified. </td>
1708
<hr><address><small>Generated on Fri Feb 4 18:39:19 2005 for FLAC by
1709
<a href="http://www.doxygen.org/index.html">
1710
<img src="doxygen.gif" alt="doxygen" align="middle" border=0
1711
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
1712
© 1997-2002</small></address>