~ubuntu-branches/ubuntu/raring/flac/raring

« back to all changes in this revision

Viewing changes to doc/html/api/group__oggflac__stream__decoder.html

  • Committer: Bazaar Package Importer
  • Author(s): Joshua Kwan
  • Date: 2007-05-29 22:56:36 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070529225636-ljeff8xxip09qaap
Tags: 1.1.4-1
* New upstream release. closes: #405167, #411311
  - libOggFLAC and libOggFLAC++ have been merged into libFLAC, so
    remove their corresponding packages.
  - Because of the API changes required to effect the above, there has
    been yet another soname bump. libflac7 -> libflac8 and
    libflac++5 -> libflac++6. Emails have been dispatched to the
    maintainers of dependent packages.
* Some notes on patches that were removed:
  - 02_stdin_stdout, 06_manpage_mention_utf8_convert: merged upstream
  - 08_manpage_warnings: Upstream has changed the manpage so it defintely
    can't fit in in 80 cols, so just forget about it. We'll live.
  - 05_eof_warnings_are_errors: Upstream decided to add a -w option to
    flac to treat all warnings as errors. I am going to defer to that
    for now, but if people think it's stupid let me know and I'll port
    the patch forward.
  - 04_stack_smasher: was a backport from 1.1.3, so it's obsolete.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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">
5
 
</head><body>
6
 
<!-- Generated by Doxygen 1.2.14 -->
7
 
<center>
8
 
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
9
 
<hr><h1>OggFLAC/stream_decoder.h: stream decoder interface<br>
10
 
<small>
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 &nbsp;</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>(*&nbsp;</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>(*&nbsp;</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(*&nbsp;</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(*&nbsp;</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 &nbsp;</td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a34">OggFLAC__StreamDecoderState</a> { <br>
23
 
&nbsp;&nbsp;<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>, 
27
 
<br>
28
 
&nbsp;&nbsp;<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>, 
32
 
<br>
33
 
&nbsp;&nbsp;<a class="el" href="group__oggflac__stream__decoder.html#a34a13">OggFLAC__STREAM_DECODER_UNINITIALIZED</a>
34
 
<br>
35
 
 }</td></tr>
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> *&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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>&nbsp;</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>&nbsp;</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 *&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="group__oggflac__stream__decoder.html#a0">OggFLAC__StreamDecoderStateString</a> []</td></tr>
68
 
</table>
69
 
<hr><a name="_details"></a><h2>Detailed Description</h2>
70
 
This module contains the functions which implement the stream decoder.
71
 
<p>
72
 
 
73
 
<p>
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">
77
 
  <tr>
78
 
    <td class="md">
79
 
      <table cellpadding="0" cellspacing="0" border="0">
80
 
        <tr>
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)
82
 
      </table>
83
 
    </td>
84
 
  </tr>
85
 
</table>
86
 
<table cellspacing=5 cellpadding=0 border=0>
87
 
  <tr>
88
 
    <td>
89
 
      &nbsp;
90
 
    </td>
91
 
    <td>
92
 
 
93
 
<p>
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>
95
 
Parameters: </b><dd>
96
 
<table border=0 cellspacing=2 cellpadding=0>
97
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
98
 
The decoder instance calling the callback. </td></tr>
99
 
<tr><td valign=top><em>buffer</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>
105
 
</table>
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>&nbsp;</td><td>
110
 
The callee's return status. </td></tr>
111
 
</table>
112
 
</dl>    </td>
113
 
  </tr>
114
 
</table>
115
 
<a name="a2" doxytag="stream_decoder.h::OggFLAC__StreamDecoderWriteCallback"></a><p>
116
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
117
 
  <tr>
118
 
    <td class="md">
119
 
      <table cellpadding="0" cellspacing="0" border="0">
120
 
        <tr>
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)
122
 
      </table>
123
 
    </td>
124
 
  </tr>
125
 
</table>
126
 
<table cellspacing=5 cellpadding=0 border=0>
127
 
  <tr>
128
 
    <td>
129
 
      &nbsp;
130
 
    </td>
131
 
    <td>
132
 
 
133
 
<p>
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>
135
 
Parameters: </b><dd>
136
 
<table border=0 cellspacing=2 cellpadding=0>
137
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
138
 
The decoder instance calling the callback. </td></tr>
139
 
<tr><td valign=top><em>frame</em>&nbsp;</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>&nbsp;</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-&gt;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>&nbsp;</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>
145
 
</table>
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>&nbsp;</td><td>
150
 
The callee's return status. </td></tr>
151
 
</table>
152
 
</dl>    </td>
153
 
  </tr>
154
 
</table>
155
 
<a name="a3" doxytag="stream_decoder.h::OggFLAC__StreamDecoderMetadataCallback"></a><p>
156
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
157
 
  <tr>
158
 
    <td class="md">
159
 
      <table cellpadding="0" cellspacing="0" border="0">
160
 
        <tr>
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)
162
 
      </table>
163
 
    </td>
164
 
  </tr>
165
 
</table>
166
 
<table cellspacing=5 cellpadding=0 border=0>
167
 
  <tr>
168
 
    <td>
169
 
      &nbsp;
170
 
    </td>
171
 
    <td>
172
 
 
173
 
<p>
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>
175
 
Parameters: </b><dd>
176
 
<table border=0 cellspacing=2 cellpadding=0>
177
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
178
 
The decoder instance calling the callback. </td></tr>
179
 
<tr><td valign=top><em>metadata</em>&nbsp;</td><td>
180
 
The decoded metadata block. </td></tr>
181
 
<tr><td valign=top><em>client_data</em>&nbsp;</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>
183
 
</table>
184
 
</dl>    </td>
185
 
  </tr>
186
 
</table>
187
 
<a name="a4" doxytag="stream_decoder.h::OggFLAC__StreamDecoderErrorCallback"></a><p>
188
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
189
 
  <tr>
190
 
    <td class="md">
191
 
      <table cellpadding="0" cellspacing="0" border="0">
192
 
        <tr>
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)
194
 
      </table>
195
 
    </td>
196
 
  </tr>
197
 
</table>
198
 
<table cellspacing=5 cellpadding=0 border=0>
199
 
  <tr>
200
 
    <td>
201
 
      &nbsp;
202
 
    </td>
203
 
    <td>
204
 
 
205
 
<p>
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>
207
 
Parameters: </b><dd>
208
 
<table border=0 cellspacing=2 cellpadding=0>
209
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
210
 
The decoder instance calling the callback. </td></tr>
211
 
<tr><td valign=top><em>status</em>&nbsp;</td><td>
212
 
The error encountered by the decoder. </td></tr>
213
 
<tr><td valign=top><em>client_data</em>&nbsp;</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>
215
 
</table>
216
 
</dl>    </td>
217
 
  </tr>
218
 
</table>
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">
222
 
  <tr>
223
 
    <td class="md">
224
 
      <table cellpadding="0" cellspacing="0" border="0">
225
 
        <tr>
226
 
          <td class="md" nowrap valign="top"> enum OggFLAC__StreamDecoderState
227
 
      </table>
228
 
    </td>
229
 
  </tr>
230
 
</table>
231
 
<table cellspacing=5 cellpadding=0 border=0>
232
 
  <tr>
233
 
    <td>
234
 
      &nbsp;
235
 
    </td>
236
 
    <td>
237
 
 
238
 
<p>
239
 
State values for an <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a>
240
 
<p>
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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td><td>
261
 
The decoder is in the uninitialized state. </td></tr>
262
 
</table>
263
 
</dl>
264
 
    </td>
265
 
  </tr>
266
 
</table>
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">
270
 
  <tr>
271
 
    <td class="md">
272
 
      <table cellpadding="0" cellspacing="0" border="0">
273
 
        <tr>
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">(&nbsp;</td>
276
 
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
277
 
          <td class="md" valign="top">)&nbsp;</td>
278
 
          <td class="md" nowrap></td>
279
 
        </tr>
280
 
 
281
 
      </table>
282
 
    </td>
283
 
  </tr>
284
 
</table>
285
 
<table cellspacing=5 cellpadding=0 border=0>
286
 
  <tr>
287
 
    <td>
288
 
      &nbsp;
289
 
    </td>
290
 
    <td>
291
 
 
292
 
<p>
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>&nbsp;</td><td>
297
 
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
298
 
</table>
299
 
</dl>    </td>
300
 
  </tr>
301
 
</table>
302
 
<a name="a6" doxytag="stream_decoder.h::OggFLAC__stream_decoder_delete"></a><p>
303
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
304
 
  <tr>
305
 
    <td class="md">
306
 
      <table cellpadding="0" cellspacing="0" border="0">
307
 
        <tr>
308
 
          <td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_delete </td>
309
 
          <td class="md" valign="top">(&nbsp;</td>
310
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
311
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
312
 
          <td class="md" valign="top">)&nbsp;</td>
313
 
          <td class="md" nowrap></td>
314
 
        </tr>
315
 
 
316
 
      </table>
317
 
    </td>
318
 
  </tr>
319
 
</table>
320
 
<table cellspacing=5 cellpadding=0 border=0>
321
 
  <tr>
322
 
    <td>
323
 
      &nbsp;
324
 
    </td>
325
 
    <td>
326
 
 
327
 
<p>
328
 
Free a decoder instance. Deletes the object pointed to by <em>decoder</em>.<dl compact><dt><b>
329
 
Parameters: </b><dd>
330
 
<table border=0 cellspacing=2 cellpadding=0>
331
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
332
 
A pointer to an existing decoder. </td></tr>
333
 
</table>
334
 
</dl><dl compact><dt><b>
335
 
Assertions:</b><dd>
336
 
 <div class="fragment"><pre>decoder != NULL 
337
 
</pre></div> </dl>    </td>
338
 
  </tr>
339
 
</table>
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">
342
 
  <tr>
343
 
    <td class="md">
344
 
      <table cellpadding="0" cellspacing="0" border="0">
345
 
        <tr>
346
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_read_callback </td>
347
 
          <td class="md" valign="top">(&nbsp;</td>
348
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
349
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
350
 
        </tr>
351
 
        <tr>
352
 
          <td></td>
353
 
          <td></td>
354
 
          <td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a1">OggFLAC__StreamDecoderReadCallback</a>&nbsp;</td>
355
 
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
356
 
        </tr>
357
 
        <tr>
358
 
          <td></td>
359
 
          <td class="md">)&nbsp;</td>
360
 
          <td class="md" colspan="2"></td>
361
 
        </tr>
362
 
 
363
 
      </table>
364
 
    </td>
365
 
  </tr>
366
 
</table>
367
 
<table cellspacing=5 cellpadding=0 border=0>
368
 
  <tr>
369
 
    <td>
370
 
      &nbsp;
371
 
    </td>
372
 
    <td>
373
 
 
374
 
<p>
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>()
376
 
<p>
377
 
<dl compact><dt><b>
378
 
Note: </b><dd>
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>
382
 
Parameters: </b><dd>
383
 
<table border=0 cellspacing=2 cellpadding=0>
384
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
385
 
A decoder instance to set. </td></tr>
386
 
<tr><td valign=top><em>value</em>&nbsp;</td><td>
387
 
See above. </td></tr>
388
 
</table>
389
 
</dl><dl compact><dt><b>
390
 
Assertions:</b><dd>
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>&nbsp;</td><td>
397
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
398
 
</table>
399
 
</dl>    </td>
400
 
  </tr>
401
 
</table>
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">
404
 
  <tr>
405
 
    <td class="md">
406
 
      <table cellpadding="0" cellspacing="0" border="0">
407
 
        <tr>
408
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_write_callback </td>
409
 
          <td class="md" valign="top">(&nbsp;</td>
410
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
411
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
412
 
        </tr>
413
 
        <tr>
414
 
          <td></td>
415
 
          <td></td>
416
 
          <td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a2">OggFLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
417
 
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
418
 
        </tr>
419
 
        <tr>
420
 
          <td></td>
421
 
          <td class="md">)&nbsp;</td>
422
 
          <td class="md" colspan="2"></td>
423
 
        </tr>
424
 
 
425
 
      </table>
426
 
    </td>
427
 
  </tr>
428
 
</table>
429
 
<table cellspacing=5 cellpadding=0 border=0>
430
 
  <tr>
431
 
    <td>
432
 
      &nbsp;
433
 
    </td>
434
 
    <td>
435
 
 
436
 
<p>
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>()
438
 
<p>
439
 
<dl compact><dt><b>
440
 
Note: </b><dd>
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>
444
 
Parameters: </b><dd>
445
 
<table border=0 cellspacing=2 cellpadding=0>
446
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
447
 
A decoder instance to set. </td></tr>
448
 
<tr><td valign=top><em>value</em>&nbsp;</td><td>
449
 
See above. </td></tr>
450
 
</table>
451
 
</dl><dl compact><dt><b>
452
 
Assertions:</b><dd>
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>&nbsp;</td><td>
459
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
460
 
</table>
461
 
</dl>    </td>
462
 
  </tr>
463
 
</table>
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">
466
 
  <tr>
467
 
    <td class="md">
468
 
      <table cellpadding="0" cellspacing="0" border="0">
469
 
        <tr>
470
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_callback </td>
471
 
          <td class="md" valign="top">(&nbsp;</td>
472
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
473
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
474
 
        </tr>
475
 
        <tr>
476
 
          <td></td>
477
 
          <td></td>
478
 
          <td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a3">OggFLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
479
 
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
480
 
        </tr>
481
 
        <tr>
482
 
          <td></td>
483
 
          <td class="md">)&nbsp;</td>
484
 
          <td class="md" colspan="2"></td>
485
 
        </tr>
486
 
 
487
 
      </table>
488
 
    </td>
489
 
  </tr>
490
 
</table>
491
 
<table cellspacing=5 cellpadding=0 border=0>
492
 
  <tr>
493
 
    <td>
494
 
      &nbsp;
495
 
    </td>
496
 
    <td>
497
 
 
498
 
<p>
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>()
500
 
<p>
501
 
<dl compact><dt><b>
502
 
Note: </b><dd>
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>
506
 
Parameters: </b><dd>
507
 
<table border=0 cellspacing=2 cellpadding=0>
508
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
509
 
A decoder instance to set. </td></tr>
510
 
<tr><td valign=top><em>value</em>&nbsp;</td><td>
511
 
See above. </td></tr>
512
 
</table>
513
 
</dl><dl compact><dt><b>
514
 
Assertions:</b><dd>
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>&nbsp;</td><td>
521
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
522
 
</table>
523
 
</dl>    </td>
524
 
  </tr>
525
 
</table>
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">
528
 
  <tr>
529
 
    <td class="md">
530
 
      <table cellpadding="0" cellspacing="0" border="0">
531
 
        <tr>
532
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_error_callback </td>
533
 
          <td class="md" valign="top">(&nbsp;</td>
534
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
535
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
536
 
        </tr>
537
 
        <tr>
538
 
          <td></td>
539
 
          <td></td>
540
 
          <td class="md" nowrap><a class="el" href="group__oggflac__stream__decoder.html#a4">OggFLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
541
 
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
542
 
        </tr>
543
 
        <tr>
544
 
          <td></td>
545
 
          <td class="md">)&nbsp;</td>
546
 
          <td class="md" colspan="2"></td>
547
 
        </tr>
548
 
 
549
 
      </table>
550
 
    </td>
551
 
  </tr>
552
 
</table>
553
 
<table cellspacing=5 cellpadding=0 border=0>
554
 
  <tr>
555
 
    <td>
556
 
      &nbsp;
557
 
    </td>
558
 
    <td>
559
 
 
560
 
<p>
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>()
562
 
<p>
563
 
<dl compact><dt><b>
564
 
Note: </b><dd>
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>
568
 
Parameters: </b><dd>
569
 
<table border=0 cellspacing=2 cellpadding=0>
570
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
571
 
A decoder instance to set. </td></tr>
572
 
<tr><td valign=top><em>value</em>&nbsp;</td><td>
573
 
See above. </td></tr>
574
 
</table>
575
 
</dl><dl compact><dt><b>
576
 
Assertions:</b><dd>
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>&nbsp;</td><td>
583
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
584
 
</table>
585
 
</dl>    </td>
586
 
  </tr>
587
 
</table>
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">
590
 
  <tr>
591
 
    <td class="md">
592
 
      <table cellpadding="0" cellspacing="0" border="0">
593
 
        <tr>
594
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_client_data </td>
595
 
          <td class="md" valign="top">(&nbsp;</td>
596
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
597
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
598
 
        </tr>
599
 
        <tr>
600
 
          <td></td>
601
 
          <td></td>
602
 
          <td class="md" nowrap>void *&nbsp;</td>
603
 
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
604
 
        </tr>
605
 
        <tr>
606
 
          <td></td>
607
 
          <td class="md">)&nbsp;</td>
608
 
          <td class="md" colspan="2"></td>
609
 
        </tr>
610
 
 
611
 
      </table>
612
 
    </td>
613
 
  </tr>
614
 
</table>
615
 
<table cellspacing=5 cellpadding=0 border=0>
616
 
  <tr>
617
 
    <td>
618
 
      &nbsp;
619
 
    </td>
620
 
    <td>
621
 
 
622
 
<p>
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>
626
 
Parameters: </b><dd>
627
 
<table border=0 cellspacing=2 cellpadding=0>
628
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
629
 
A decoder instance to set. </td></tr>
630
 
<tr><td valign=top><em>value</em>&nbsp;</td><td>
631
 
See above. </td></tr>
632
 
</table>
633
 
</dl><dl compact><dt><b>
634
 
Assertions:</b><dd>
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>&nbsp;</td><td>
640
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
641
 
</table>
642
 
</dl>    </td>
643
 
  </tr>
644
 
</table>
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">
647
 
  <tr>
648
 
    <td class="md">
649
 
      <table cellpadding="0" cellspacing="0" border="0">
650
 
        <tr>
651
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_serial_number </td>
652
 
          <td class="md" valign="top">(&nbsp;</td>
653
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
654
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
655
 
        </tr>
656
 
        <tr>
657
 
          <td></td>
658
 
          <td></td>
659
 
          <td class="md" nowrap>long&nbsp;</td>
660
 
          <td class="mdname" nowrap>&nbsp; <em>serial_number</em></td>
661
 
        </tr>
662
 
        <tr>
663
 
          <td></td>
664
 
          <td class="md">)&nbsp;</td>
665
 
          <td class="md" colspan="2"></td>
666
 
        </tr>
667
 
 
668
 
      </table>
669
 
    </td>
670
 
  </tr>
671
 
</table>
672
 
<table cellspacing=5 cellpadding=0 border=0>
673
 
  <tr>
674
 
    <td>
675
 
      &nbsp;
676
 
    </td>
677
 
    <td>
678
 
 
679
 
<p>
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>
683
 
Parameters: </b><dd>
684
 
<table border=0 cellspacing=2 cellpadding=0>
685
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
686
 
A decoder instance to set. </td></tr>
687
 
<tr><td valign=top><em>serial_number</em>&nbsp;</td><td>
688
 
See above. </td></tr>
689
 
</table>
690
 
</dl><dl compact><dt><b>
691
 
Assertions:</b><dd>
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>&nbsp;</td><td>
697
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
698
 
</table>
699
 
</dl>    </td>
700
 
  </tr>
701
 
</table>
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">
704
 
  <tr>
705
 
    <td class="md">
706
 
      <table cellpadding="0" cellspacing="0" border="0">
707
 
        <tr>
708
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_respond </td>
709
 
          <td class="md" valign="top">(&nbsp;</td>
710
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
711
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
712
 
        </tr>
713
 
        <tr>
714
 
          <td></td>
715
 
          <td></td>
716
 
          <td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a>&nbsp;</td>
717
 
          <td class="mdname" nowrap>&nbsp; <em>type</em></td>
718
 
        </tr>
719
 
        <tr>
720
 
          <td></td>
721
 
          <td class="md">)&nbsp;</td>
722
 
          <td class="md" colspan="2"></td>
723
 
        </tr>
724
 
 
725
 
      </table>
726
 
    </td>
727
 
  </tr>
728
 
</table>
729
 
<table cellspacing=5 cellpadding=0 border=0>
730
 
  <tr>
731
 
    <td>
732
 
      &nbsp;
733
 
    </td>
734
 
    <td>
735
 
 
736
 
<p>
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>
740
 
Parameters: </b><dd>
741
 
<table border=0 cellspacing=2 cellpadding=0>
742
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
743
 
A decoder instance to set. </td></tr>
744
 
<tr><td valign=top><em>type</em>&nbsp;</td><td>
745
 
See above. </td></tr>
746
 
</table>
747
 
</dl><dl compact><dt><b>
748
 
Assertions:</b><dd>
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>&nbsp;</td><td>
754
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
755
 
</table>
756
 
</dl>    </td>
757
 
  </tr>
758
 
</table>
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">
761
 
  <tr>
762
 
    <td class="md">
763
 
      <table cellpadding="0" cellspacing="0" border="0">
764
 
        <tr>
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">(&nbsp;</td>
767
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
768
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
769
 
        </tr>
770
 
        <tr>
771
 
          <td></td>
772
 
          <td></td>
773
 
          <td class="md" nowrap>const FLAC__byte&nbsp;</td>
774
 
          <td class="mdname" nowrap>&nbsp; <em>id</em>[4]</td>
775
 
        </tr>
776
 
        <tr>
777
 
          <td></td>
778
 
          <td class="md">)&nbsp;</td>
779
 
          <td class="md" colspan="2"></td>
780
 
        </tr>
781
 
 
782
 
      </table>
783
 
    </td>
784
 
  </tr>
785
 
</table>
786
 
<table cellspacing=5 cellpadding=0 border=0>
787
 
  <tr>
788
 
    <td>
789
 
      &nbsp;
790
 
    </td>
791
 
    <td>
792
 
 
793
 
<p>
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>
797
 
Parameters: </b><dd>
798
 
<table border=0 cellspacing=2 cellpadding=0>
799
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
800
 
A decoder instance to set. </td></tr>
801
 
<tr><td valign=top><em>id</em>&nbsp;</td><td>
802
 
See above. </td></tr>
803
 
</table>
804
 
</dl><dl compact><dt><b>
805
 
Assertions:</b><dd>
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>&nbsp;</td><td>
812
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
813
 
</table>
814
 
</dl>    </td>
815
 
  </tr>
816
 
</table>
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">
819
 
  <tr>
820
 
    <td class="md">
821
 
      <table cellpadding="0" cellspacing="0" border="0">
822
 
        <tr>
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">(&nbsp;</td>
825
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
826
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
827
 
          <td class="md" valign="top">)&nbsp;</td>
828
 
          <td class="md" nowrap></td>
829
 
        </tr>
830
 
 
831
 
      </table>
832
 
    </td>
833
 
  </tr>
834
 
</table>
835
 
<table cellspacing=5 cellpadding=0 border=0>
836
 
  <tr>
837
 
    <td>
838
 
      &nbsp;
839
 
    </td>
840
 
    <td>
841
 
 
842
 
<p>
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>
846
 
Parameters: </b><dd>
847
 
<table border=0 cellspacing=2 cellpadding=0>
848
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
849
 
A decoder instance to set. </td></tr>
850
 
</table>
851
 
</dl><dl compact><dt><b>
852
 
Assertions:</b><dd>
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>&nbsp;</td><td>
858
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
859
 
</table>
860
 
</dl>    </td>
861
 
  </tr>
862
 
</table>
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">
865
 
  <tr>
866
 
    <td class="md">
867
 
      <table cellpadding="0" cellspacing="0" border="0">
868
 
        <tr>
869
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_set_metadata_ignore </td>
870
 
          <td class="md" valign="top">(&nbsp;</td>
871
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
872
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
873
 
        </tr>
874
 
        <tr>
875
 
          <td></td>
876
 
          <td></td>
877
 
          <td class="md" nowrap><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a>&nbsp;</td>
878
 
          <td class="mdname" nowrap>&nbsp; <em>type</em></td>
879
 
        </tr>
880
 
        <tr>
881
 
          <td></td>
882
 
          <td class="md">)&nbsp;</td>
883
 
          <td class="md" colspan="2"></td>
884
 
        </tr>
885
 
 
886
 
      </table>
887
 
    </td>
888
 
  </tr>
889
 
</table>
890
 
<table cellspacing=5 cellpadding=0 border=0>
891
 
  <tr>
892
 
    <td>
893
 
      &nbsp;
894
 
    </td>
895
 
    <td>
896
 
 
897
 
<p>
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>
901
 
Parameters: </b><dd>
902
 
<table border=0 cellspacing=2 cellpadding=0>
903
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
904
 
A decoder instance to set. </td></tr>
905
 
<tr><td valign=top><em>type</em>&nbsp;</td><td>
906
 
See above. </td></tr>
907
 
</table>
908
 
</dl><dl compact><dt><b>
909
 
Assertions:</b><dd>
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>&nbsp;</td><td>
915
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
916
 
</table>
917
 
</dl>    </td>
918
 
  </tr>
919
 
</table>
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">
922
 
  <tr>
923
 
    <td class="md">
924
 
      <table cellpadding="0" cellspacing="0" border="0">
925
 
        <tr>
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">(&nbsp;</td>
928
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
929
 
          <td class="mdname" nowrap>&nbsp; <em>decoder</em>, </td>
930
 
        </tr>
931
 
        <tr>
932
 
          <td></td>
933
 
          <td></td>
934
 
          <td class="md" nowrap>const FLAC__byte&nbsp;</td>
935
 
          <td class="mdname" nowrap>&nbsp; <em>id</em>[4]</td>
936
 
        </tr>
937
 
        <tr>
938
 
          <td></td>
939
 
          <td class="md">)&nbsp;</td>
940
 
          <td class="md" colspan="2"></td>
941
 
        </tr>
942
 
 
943
 
      </table>
944
 
    </td>
945
 
  </tr>
946
 
</table>
947
 
<table cellspacing=5 cellpadding=0 border=0>
948
 
  <tr>
949
 
    <td>
950
 
      &nbsp;
951
 
    </td>
952
 
    <td>
953
 
 
954
 
<p>
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>
958
 
Parameters: </b><dd>
959
 
<table border=0 cellspacing=2 cellpadding=0>
960
 
<tr><td valign=top><em>decoder</em>&nbsp;</td><td>
961
 
A decoder instance to set. </td></tr>
962
 
<tr><td valign=top><em>id</em>&nbsp;</td><td>
963
 
See above. </td></tr>
964
 
</table>
965
 
</dl><dl compact><dt><b>
966
 
Assertions:</b><dd>
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>&nbsp;</td><td>
973
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
974
 
</table>
975
 
</dl>    </td>
976
 
  </tr>
977
 
</table>
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">
980
 
  <tr>
981
 
    <td class="md">
982
 
      <table cellpadding="0" cellspacing="0" border="0">
983
 
        <tr>
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">(&nbsp;</td>
986
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
987
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
988
 
          <td class="md" valign="top">)&nbsp;</td>
989
 
          <td class="md" nowrap></td>
990
 
        </tr>
991
 
 
992
 
      </table>
993
 
    </td>
994
 
  </tr>
995
 
</table>
996
 
<table cellspacing=5 cellpadding=0 border=0>
997
 
  <tr>
998
 
    <td>
999
 
      &nbsp;
1000
 
    </td>
1001
 
    <td>
1002
 
 
1003
 
<p>
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>&nbsp;</td><td>
1010
 
A decoder instance to set. </td></tr>
1011
 
</table>
1012
 
</dl><dl compact><dt><b>
1013
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1019
 
<code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
1020
 
</table>
1021
 
</dl>    </td>
1022
 
  </tr>
1023
 
</table>
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">
1026
 
  <tr>
1027
 
    <td class="md">
1028
 
      <table cellpadding="0" cellspacing="0" border="0">
1029
 
        <tr>
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">(&nbsp;</td>
1032
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1033
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1034
 
          <td class="md" valign="top">)&nbsp;</td>
1035
 
          <td class="md" nowrap></td>
1036
 
        </tr>
1037
 
 
1038
 
      </table>
1039
 
    </td>
1040
 
  </tr>
1041
 
</table>
1042
 
<table cellspacing=5 cellpadding=0 border=0>
1043
 
  <tr>
1044
 
    <td>
1045
 
      &nbsp;
1046
 
    </td>
1047
 
    <td>
1048
 
 
1049
 
<p>
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>&nbsp;</td><td>
1054
 
A decoder instance to query. </td></tr>
1055
 
</table>
1056
 
</dl><dl compact><dt><b>
1057
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1063
 
The current decoder state. </td></tr>
1064
 
</table>
1065
 
</dl>    </td>
1066
 
  </tr>
1067
 
</table>
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">
1070
 
  <tr>
1071
 
    <td class="md">
1072
 
      <table cellpadding="0" cellspacing="0" border="0">
1073
 
        <tr>
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">(&nbsp;</td>
1076
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1077
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1078
 
          <td class="md" valign="top">)&nbsp;</td>
1079
 
          <td class="md" nowrap></td>
1080
 
        </tr>
1081
 
 
1082
 
      </table>
1083
 
    </td>
1084
 
  </tr>
1085
 
</table>
1086
 
<table cellspacing=5 cellpadding=0 border=0>
1087
 
  <tr>
1088
 
    <td>
1089
 
      &nbsp;
1090
 
    </td>
1091
 
    <td>
1092
 
 
1093
 
<p>
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>&nbsp;</td><td>
1098
 
A decoder instance to query. </td></tr>
1099
 
</table>
1100
 
</dl><dl compact><dt><b>
1101
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1107
 
The FLAC stream decoder state. </td></tr>
1108
 
</table>
1109
 
</dl>    </td>
1110
 
  </tr>
1111
 
</table>
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">
1114
 
  <tr>
1115
 
    <td class="md">
1116
 
      <table cellpadding="0" cellspacing="0" border="0">
1117
 
        <tr>
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">(&nbsp;</td>
1120
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1121
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1122
 
          <td class="md" valign="top">)&nbsp;</td>
1123
 
          <td class="md" nowrap></td>
1124
 
        </tr>
1125
 
 
1126
 
      </table>
1127
 
    </td>
1128
 
  </tr>
1129
 
</table>
1130
 
<table cellspacing=5 cellpadding=0 border=0>
1131
 
  <tr>
1132
 
    <td>
1133
 
      &nbsp;
1134
 
    </td>
1135
 
    <td>
1136
 
 
1137
 
<p>
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>&nbsp;</td><td>
1142
 
A decoder instance to query. </td></tr>
1143
 
</table>
1144
 
</dl><dl compact><dt><b>
1145
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1151
 
char * The decoder state as a C string. Do not modify the contents. </td></tr>
1152
 
</table>
1153
 
</dl>    </td>
1154
 
  </tr>
1155
 
</table>
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">
1158
 
  <tr>
1159
 
    <td class="md">
1160
 
      <table cellpadding="0" cellspacing="0" border="0">
1161
 
        <tr>
1162
 
          <td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_channels </td>
1163
 
          <td class="md" valign="top">(&nbsp;</td>
1164
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1165
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1166
 
          <td class="md" valign="top">)&nbsp;</td>
1167
 
          <td class="md" nowrap></td>
1168
 
        </tr>
1169
 
 
1170
 
      </table>
1171
 
    </td>
1172
 
  </tr>
1173
 
</table>
1174
 
<table cellspacing=5 cellpadding=0 border=0>
1175
 
  <tr>
1176
 
    <td>
1177
 
      &nbsp;
1178
 
    </td>
1179
 
    <td>
1180
 
 
1181
 
<p>
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>&nbsp;</td><td>
1186
 
A decoder instance to query. </td></tr>
1187
 
</table>
1188
 
</dl><dl compact><dt><b>
1189
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1195
 
See above. </td></tr>
1196
 
</table>
1197
 
</dl>    </td>
1198
 
  </tr>
1199
 
</table>
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">
1202
 
  <tr>
1203
 
    <td class="md">
1204
 
      <table cellpadding="0" cellspacing="0" border="0">
1205
 
        <tr>
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">(&nbsp;</td>
1208
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1209
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1210
 
          <td class="md" valign="top">)&nbsp;</td>
1211
 
          <td class="md" nowrap></td>
1212
 
        </tr>
1213
 
 
1214
 
      </table>
1215
 
    </td>
1216
 
  </tr>
1217
 
</table>
1218
 
<table cellspacing=5 cellpadding=0 border=0>
1219
 
  <tr>
1220
 
    <td>
1221
 
      &nbsp;
1222
 
    </td>
1223
 
    <td>
1224
 
 
1225
 
<p>
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>&nbsp;</td><td>
1230
 
A decoder instance to query. </td></tr>
1231
 
</table>
1232
 
</dl><dl compact><dt><b>
1233
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1239
 
See above. </td></tr>
1240
 
</table>
1241
 
</dl>    </td>
1242
 
  </tr>
1243
 
</table>
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">
1246
 
  <tr>
1247
 
    <td class="md">
1248
 
      <table cellpadding="0" cellspacing="0" border="0">
1249
 
        <tr>
1250
 
          <td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_bits_per_sample </td>
1251
 
          <td class="md" valign="top">(&nbsp;</td>
1252
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1253
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1254
 
          <td class="md" valign="top">)&nbsp;</td>
1255
 
          <td class="md" nowrap></td>
1256
 
        </tr>
1257
 
 
1258
 
      </table>
1259
 
    </td>
1260
 
  </tr>
1261
 
</table>
1262
 
<table cellspacing=5 cellpadding=0 border=0>
1263
 
  <tr>
1264
 
    <td>
1265
 
      &nbsp;
1266
 
    </td>
1267
 
    <td>
1268
 
 
1269
 
<p>
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>&nbsp;</td><td>
1274
 
A decoder instance to query. </td></tr>
1275
 
</table>
1276
 
</dl><dl compact><dt><b>
1277
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1283
 
See above. </td></tr>
1284
 
</table>
1285
 
</dl>    </td>
1286
 
  </tr>
1287
 
</table>
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">
1290
 
  <tr>
1291
 
    <td class="md">
1292
 
      <table cellpadding="0" cellspacing="0" border="0">
1293
 
        <tr>
1294
 
          <td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_sample_rate </td>
1295
 
          <td class="md" valign="top">(&nbsp;</td>
1296
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1297
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1298
 
          <td class="md" valign="top">)&nbsp;</td>
1299
 
          <td class="md" nowrap></td>
1300
 
        </tr>
1301
 
 
1302
 
      </table>
1303
 
    </td>
1304
 
  </tr>
1305
 
</table>
1306
 
<table cellspacing=5 cellpadding=0 border=0>
1307
 
  <tr>
1308
 
    <td>
1309
 
      &nbsp;
1310
 
    </td>
1311
 
    <td>
1312
 
 
1313
 
<p>
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>&nbsp;</td><td>
1318
 
A decoder instance to query. </td></tr>
1319
 
</table>
1320
 
</dl><dl compact><dt><b>
1321
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1327
 
See above. </td></tr>
1328
 
</table>
1329
 
</dl>    </td>
1330
 
  </tr>
1331
 
</table>
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">
1334
 
  <tr>
1335
 
    <td class="md">
1336
 
      <table cellpadding="0" cellspacing="0" border="0">
1337
 
        <tr>
1338
 
          <td class="md" nowrap valign="top"> OggFLAC_API unsigned OggFLAC__stream_decoder_get_blocksize </td>
1339
 
          <td class="md" valign="top">(&nbsp;</td>
1340
 
          <td class="md" nowrap valign="top">const <a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1341
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1342
 
          <td class="md" valign="top">)&nbsp;</td>
1343
 
          <td class="md" nowrap></td>
1344
 
        </tr>
1345
 
 
1346
 
      </table>
1347
 
    </td>
1348
 
  </tr>
1349
 
</table>
1350
 
<table cellspacing=5 cellpadding=0 border=0>
1351
 
  <tr>
1352
 
    <td>
1353
 
      &nbsp;
1354
 
    </td>
1355
 
    <td>
1356
 
 
1357
 
<p>
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>&nbsp;</td><td>
1362
 
A decoder instance to query. </td></tr>
1363
 
</table>
1364
 
</dl><dl compact><dt><b>
1365
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1371
 
See above. </td></tr>
1372
 
</table>
1373
 
</dl>    </td>
1374
 
  </tr>
1375
 
</table>
1376
 
<a name="a27" doxytag="stream_decoder.h::OggFLAC__stream_decoder_init"></a><p>
1377
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1378
 
  <tr>
1379
 
    <td class="md">
1380
 
      <table cellpadding="0" cellspacing="0" border="0">
1381
 
        <tr>
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">(&nbsp;</td>
1384
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1385
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1386
 
          <td class="md" valign="top">)&nbsp;</td>
1387
 
          <td class="md" nowrap></td>
1388
 
        </tr>
1389
 
 
1390
 
      </table>
1391
 
    </td>
1392
 
  </tr>
1393
 
</table>
1394
 
<table cellspacing=5 cellpadding=0 border=0>
1395
 
  <tr>
1396
 
    <td>
1397
 
      &nbsp;
1398
 
    </td>
1399
 
    <td>
1400
 
 
1401
 
<p>
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>&nbsp;</td><td>
1406
 
An uninitialized decoder instance. </td></tr>
1407
 
</table>
1408
 
</dl><dl compact><dt><b>
1409
 
Assertions:</b><dd>
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>&nbsp;</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>
1416
 
</table>
1417
 
</dl>    </td>
1418
 
  </tr>
1419
 
</table>
1420
 
<a name="a28" doxytag="stream_decoder.h::OggFLAC__stream_decoder_finish"></a><p>
1421
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1422
 
  <tr>
1423
 
    <td class="md">
1424
 
      <table cellpadding="0" cellspacing="0" border="0">
1425
 
        <tr>
1426
 
          <td class="md" nowrap valign="top"> OggFLAC_API void OggFLAC__stream_decoder_finish </td>
1427
 
          <td class="md" valign="top">(&nbsp;</td>
1428
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1429
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1430
 
          <td class="md" valign="top">)&nbsp;</td>
1431
 
          <td class="md" nowrap></td>
1432
 
        </tr>
1433
 
 
1434
 
      </table>
1435
 
    </td>
1436
 
  </tr>
1437
 
</table>
1438
 
<table cellspacing=5 cellpadding=0 border=0>
1439
 
  <tr>
1440
 
    <td>
1441
 
      &nbsp;
1442
 
    </td>
1443
 
    <td>
1444
 
 
1445
 
<p>
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.
1447
 
<p>
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>&nbsp;</td><td>
1452
 
An uninitialized decoder instance. </td></tr>
1453
 
</table>
1454
 
</dl><dl compact><dt><b>
1455
 
Assertions:</b><dd>
1456
 
 <div class="fragment"><pre>decoder != NULL 
1457
 
</pre></div> </dl>    </td>
1458
 
  </tr>
1459
 
</table>
1460
 
<a name="a29" doxytag="stream_decoder.h::OggFLAC__stream_decoder_flush"></a><p>
1461
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1462
 
  <tr>
1463
 
    <td class="md">
1464
 
      <table cellpadding="0" cellspacing="0" border="0">
1465
 
        <tr>
1466
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_flush </td>
1467
 
          <td class="md" valign="top">(&nbsp;</td>
1468
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1469
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1470
 
          <td class="md" valign="top">)&nbsp;</td>
1471
 
          <td class="md" nowrap></td>
1472
 
        </tr>
1473
 
 
1474
 
      </table>
1475
 
    </td>
1476
 
  </tr>
1477
 
</table>
1478
 
<table cellspacing=5 cellpadding=0 border=0>
1479
 
  <tr>
1480
 
    <td>
1481
 
      &nbsp;
1482
 
    </td>
1483
 
    <td>
1484
 
 
1485
 
<p>
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>&nbsp;</td><td>
1490
 
A decoder instance. </td></tr>
1491
 
</table>
1492
 
</dl><dl compact><dt><b>
1493
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1499
 
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1500
 
</table>
1501
 
</dl>    </td>
1502
 
  </tr>
1503
 
</table>
1504
 
<a name="a30" doxytag="stream_decoder.h::OggFLAC__stream_decoder_reset"></a><p>
1505
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1506
 
  <tr>
1507
 
    <td class="md">
1508
 
      <table cellpadding="0" cellspacing="0" border="0">
1509
 
        <tr>
1510
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_reset </td>
1511
 
          <td class="md" valign="top">(&nbsp;</td>
1512
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1513
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1514
 
          <td class="md" valign="top">)&nbsp;</td>
1515
 
          <td class="md" nowrap></td>
1516
 
        </tr>
1517
 
 
1518
 
      </table>
1519
 
    </td>
1520
 
  </tr>
1521
 
</table>
1522
 
<table cellspacing=5 cellpadding=0 border=0>
1523
 
  <tr>
1524
 
    <td>
1525
 
      &nbsp;
1526
 
    </td>
1527
 
    <td>
1528
 
 
1529
 
<p>
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>&nbsp;</td><td>
1534
 
A decoder instance. </td></tr>
1535
 
</table>
1536
 
</dl><dl compact><dt><b>
1537
 
Assertions:</b><dd>
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>&nbsp;</td><td>
1543
 
<code>true</code> if successful, else <code>false</code> if a memory allocation error occurs. </td></tr>
1544
 
</table>
1545
 
</dl>    </td>
1546
 
  </tr>
1547
 
</table>
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">
1550
 
  <tr>
1551
 
    <td class="md">
1552
 
      <table cellpadding="0" cellspacing="0" border="0">
1553
 
        <tr>
1554
 
          <td class="md" nowrap valign="top"> OggFLAC_API FLAC__bool OggFLAC__stream_decoder_process_single </td>
1555
 
          <td class="md" valign="top">(&nbsp;</td>
1556
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1557
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1558
 
          <td class="md" valign="top">)&nbsp;</td>
1559
 
          <td class="md" nowrap></td>
1560
 
        </tr>
1561
 
 
1562
 
      </table>
1563
 
    </td>
1564
 
  </tr>
1565
 
</table>
1566
 
<table cellspacing=5 cellpadding=0 border=0>
1567
 
  <tr>
1568
 
    <td>
1569
 
      &nbsp;
1570
 
    </td>
1571
 
    <td>
1572
 
 
1573
 
<p>
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>&nbsp;</td><td>
1578
 
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1579
 
</table>
1580
 
</dl><dl compact><dt><b>
1581
 
Assertions:</b><dd>
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>&nbsp;</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>
1589
 
</table>
1590
 
</dl>    </td>
1591
 
  </tr>
1592
 
</table>
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">
1595
 
  <tr>
1596
 
    <td class="md">
1597
 
      <table cellpadding="0" cellspacing="0" border="0">
1598
 
        <tr>
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">(&nbsp;</td>
1601
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1602
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1603
 
          <td class="md" valign="top">)&nbsp;</td>
1604
 
          <td class="md" nowrap></td>
1605
 
        </tr>
1606
 
 
1607
 
      </table>
1608
 
    </td>
1609
 
  </tr>
1610
 
</table>
1611
 
<table cellspacing=5 cellpadding=0 border=0>
1612
 
  <tr>
1613
 
    <td>
1614
 
      &nbsp;
1615
 
    </td>
1616
 
    <td>
1617
 
 
1618
 
<p>
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>&nbsp;</td><td>
1623
 
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1624
 
</table>
1625
 
</dl><dl compact><dt><b>
1626
 
Assertions:</b><dd>
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>&nbsp;</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>
1634
 
</table>
1635
 
</dl>    </td>
1636
 
  </tr>
1637
 
</table>
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">
1640
 
  <tr>
1641
 
    <td class="md">
1642
 
      <table cellpadding="0" cellspacing="0" border="0">
1643
 
        <tr>
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">(&nbsp;</td>
1646
 
          <td class="md" nowrap valign="top"><a class="el" href="structOggFLAC____StreamDecoder.html">OggFLAC__StreamDecoder</a> *&nbsp;</td>
1647
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>decoder</em>          </td>
1648
 
          <td class="md" valign="top">)&nbsp;</td>
1649
 
          <td class="md" nowrap></td>
1650
 
        </tr>
1651
 
 
1652
 
      </table>
1653
 
    </td>
1654
 
  </tr>
1655
 
</table>
1656
 
<table cellspacing=5 cellpadding=0 border=0>
1657
 
  <tr>
1658
 
    <td>
1659
 
      &nbsp;
1660
 
    </td>
1661
 
    <td>
1662
 
 
1663
 
<p>
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>&nbsp;</td><td>
1668
 
An initialized decoder instance in the state <code>OggFLAC__STREAM_DECODER_OK</code>. </td></tr>
1669
 
</table>
1670
 
</dl><dl compact><dt><b>
1671
 
Assertions:</b><dd>
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>&nbsp;</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>
1679
 
</table>
1680
 
</dl>    </td>
1681
 
  </tr>
1682
 
</table>
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">
1686
 
  <tr>
1687
 
    <td class="md">
1688
 
      <table cellpadding="0" cellspacing="0" border="0">
1689
 
        <tr>
1690
 
          <td class="md" nowrap valign="top"> OggFLAC_API const char* const OggFLAC__StreamDecoderStateString[]
1691
 
      </table>
1692
 
    </td>
1693
 
  </tr>
1694
 
</table>
1695
 
<table cellspacing=5 cellpadding=0 border=0>
1696
 
  <tr>
1697
 
    <td>
1698
 
      &nbsp;
1699
 
    </td>
1700
 
    <td>
1701
 
 
1702
 
<p>
1703
 
Maps an OggFLAC__StreamDecoderState to a C string.
1704
 
<p>
1705
 
Using an OggFLAC__StreamDecoderState as the index to this array will give the string equivalent. The contents should not be modified.     </td>
1706
 
  </tr>
1707
 
</table>
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
 
 &copy;&nbsp;1997-2002</small></address>
1713
 
</body>
1714
 
</html>