cannam@86
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
cannam@86
|
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
cannam@86
|
3 <title>FLAC: include/FLAC/stream_decoder.h Source File</title>
|
cannam@86
|
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
|
cannam@86
|
5 </head><body>
|
cannam@86
|
6 <!-- Generated by Doxygen 1.4.2 -->
|
cannam@86
|
7 <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
|
cannam@86
|
8 <div class="nav">
|
cannam@86
|
9 <a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000002.html">FLAC</a></div>
|
cannam@86
|
10 <h1>stream_decoder.h</h1><a href="stream__decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
|
cannam@86
|
11 00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
|
cannam@86
|
12 00003 <span class="comment"> *</span>
|
cannam@86
|
13 00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
|
cannam@86
|
14 00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
|
cannam@86
|
15 00006 <span class="comment"> * are met:</span>
|
cannam@86
|
16 00007 <span class="comment"> *</span>
|
cannam@86
|
17 00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
|
cannam@86
|
18 00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
|
cannam@86
|
19 00010 <span class="comment"> *</span>
|
cannam@86
|
20 00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
|
cannam@86
|
21 00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
|
cannam@86
|
22 00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
|
cannam@86
|
23 00014 <span class="comment"> *</span>
|
cannam@86
|
24 00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
|
cannam@86
|
25 00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
|
cannam@86
|
26 00017 <span class="comment"> * this software without specific prior written permission.</span>
|
cannam@86
|
27 00018 <span class="comment"> *</span>
|
cannam@86
|
28 00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
|
cannam@86
|
29 00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
|
cannam@86
|
30 00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
|
cannam@86
|
31 00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
|
cannam@86
|
32 00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
|
cannam@86
|
33 00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
|
cannam@86
|
34 00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
|
cannam@86
|
35 00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
|
cannam@86
|
36 00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
|
cannam@86
|
37 00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
|
cannam@86
|
38 00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
|
cannam@86
|
39 00030 <span class="comment"> */</span>
|
cannam@86
|
40 00031
|
cannam@86
|
41 00032 <span class="preprocessor">#ifndef FLAC__STREAM_DECODER_H</span>
|
cannam@86
|
42 00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_DECODER_H</span>
|
cannam@86
|
43 00034 <span class="preprocessor"></span>
|
cannam@86
|
44 00035 <span class="preprocessor">#include <stdio.h></span> <span class="comment">/* for FILE */</span>
|
cannam@86
|
45 00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
|
cannam@86
|
46 00037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span>
|
cannam@86
|
47 00038
|
cannam@86
|
48 00039 <span class="preprocessor">#ifdef __cplusplus</span>
|
cannam@86
|
49 00040 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
|
cannam@86
|
50 00041 <span class="preprocessor">#endif</span>
|
cannam@86
|
51 00042 <span class="preprocessor"></span>
|
cannam@86
|
52 00043
|
cannam@86
|
53 <a name="l00201"></a><a class="code" href="group__flac__stream__decoder.html#ga50">00201</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
54 00202
|
cannam@86
|
55 00203 <a class="code" href="group__flac__stream__decoder.html#gga50a16">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0,
|
cannam@86
|
56 00206 <a class="code" href="group__flac__stream__decoder.html#gga50a17">FLAC__STREAM_DECODER_READ_METADATA</a>,
|
cannam@86
|
57 00209 <a class="code" href="group__flac__stream__decoder.html#gga50a18">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>,
|
cannam@86
|
58 00214 <a class="code" href="group__flac__stream__decoder.html#gga50a19">FLAC__STREAM_DECODER_READ_FRAME</a>,
|
cannam@86
|
59 00217 <a class="code" href="group__flac__stream__decoder.html#gga50a20">FLAC__STREAM_DECODER_END_OF_STREAM</a>,
|
cannam@86
|
60 00220 <a class="code" href="group__flac__stream__decoder.html#gga50a21">FLAC__STREAM_DECODER_OGG_ERROR</a>,
|
cannam@86
|
61 00223 <a class="code" href="group__flac__stream__decoder.html#gga50a22">FLAC__STREAM_DECODER_SEEK_ERROR</a>,
|
cannam@86
|
62 00229 <a class="code" href="group__flac__stream__decoder.html#gga50a23">FLAC__STREAM_DECODER_ABORTED</a>,
|
cannam@86
|
63 00232 <a class="code" href="group__flac__stream__decoder.html#gga50a24">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
|
cannam@86
|
64 00237 <a class="code" href="group__flac__stream__decoder.html#gga50a25">FLAC__STREAM_DECODER_UNINITIALIZED</a>
|
cannam@86
|
65 00243 } <a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>;
|
cannam@86
|
66 00244
|
cannam@86
|
67 00250 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a>[];
|
cannam@86
|
68 00251
|
cannam@86
|
69 00252
|
cannam@86
|
70 <a name="l00255"></a><a class="code" href="group__flac__stream__decoder.html#ga51">00255</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
71 00256
|
cannam@86
|
72 00257 <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a> = 0,
|
cannam@86
|
73 00260 <a class="code" href="group__flac__stream__decoder.html#gga51a27">FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
|
cannam@86
|
74 00265 <a class="code" href="group__flac__stream__decoder.html#gga51a28">FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</a>,
|
cannam@86
|
75 00268 <a class="code" href="group__flac__stream__decoder.html#gga51a29">FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</a>,
|
cannam@86
|
76 00271 <a class="code" href="group__flac__stream__decoder.html#gga51a30">FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</a>,
|
cannam@86
|
77 00275 <a class="code" href="group__flac__stream__decoder.html#gga51a31">FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</a>
|
cannam@86
|
78 00281 } <a class="code" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>;
|
cannam@86
|
79 00282
|
cannam@86
|
80 00288 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a>[];
|
cannam@86
|
81 00289
|
cannam@86
|
82 00290
|
cannam@86
|
83 <a name="l00293"></a><a class="code" href="group__flac__stream__decoder.html#ga52">00293</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
84 00294
|
cannam@86
|
85 00295 <a class="code" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>,
|
cannam@86
|
86 00298 <a class="code" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>,
|
cannam@86
|
87 00309 <a class="code" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>
|
cannam@86
|
88 00312 } <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>;
|
cannam@86
|
89 00313
|
cannam@86
|
90 00319 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a>[];
|
cannam@86
|
91 00320
|
cannam@86
|
92 00321
|
cannam@86
|
93 <a name="l00324"></a><a class="code" href="group__flac__stream__decoder.html#ga53">00324</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
94 00325
|
cannam@86
|
95 00326 <a class="code" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>,
|
cannam@86
|
96 00329 <a class="code" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>,
|
cannam@86
|
97 00332 <a class="code" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a>
|
cannam@86
|
98 00335 } <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>;
|
cannam@86
|
99 00336
|
cannam@86
|
100 00342 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a>[];
|
cannam@86
|
101 00343
|
cannam@86
|
102 00344
|
cannam@86
|
103 <a name="l00347"></a><a class="code" href="group__flac__stream__decoder.html#ga54">00347</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
104 00348
|
cannam@86
|
105 00349 <a class="code" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>,
|
cannam@86
|
106 00352 <a class="code" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>,
|
cannam@86
|
107 00355 <a class="code" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a>
|
cannam@86
|
108 00358 } <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>;
|
cannam@86
|
109 00359
|
cannam@86
|
110 00365 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a>[];
|
cannam@86
|
111 00366
|
cannam@86
|
112 00367
|
cannam@86
|
113 <a name="l00370"></a><a class="code" href="group__flac__stream__decoder.html#ga55">00370</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
114 00371
|
cannam@86
|
115 00372 <a class="code" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>,
|
cannam@86
|
116 00375 <a class="code" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>,
|
cannam@86
|
117 00378 <a class="code" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a>
|
cannam@86
|
118 00381 } <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>;
|
cannam@86
|
119 00382
|
cannam@86
|
120 00388 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a>[];
|
cannam@86
|
121 00389
|
cannam@86
|
122 00390
|
cannam@86
|
123 <a name="l00393"></a><a class="code" href="group__flac__stream__decoder.html#ga56">00393</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
124 00394
|
cannam@86
|
125 00395 <a class="code" href="group__flac__stream__decoder.html#gga56a44">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>,
|
cannam@86
|
126 00398 <a class="code" href="group__flac__stream__decoder.html#gga56a45">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a>
|
cannam@86
|
127 00401 } <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>;
|
cannam@86
|
128 00402
|
cannam@86
|
129 00408 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a>[];
|
cannam@86
|
130 00409
|
cannam@86
|
131 00410
|
cannam@86
|
132 <a name="l00426"></a><a class="code" href="group__flac__stream__decoder.html#ga57">00426</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
|
cannam@86
|
133 00427
|
cannam@86
|
134 00428 <a class="code" href="group__flac__stream__decoder.html#gga57a46">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>,
|
cannam@86
|
135 00431 <a class="code" href="group__flac__stream__decoder.html#gga57a47">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>,
|
cannam@86
|
136 00434 <a class="code" href="group__flac__stream__decoder.html#gga57a48">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>,
|
cannam@86
|
137 00437 <a class="code" href="group__flac__stream__decoder.html#gga57a49">FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</a>
|
cannam@86
|
138 00440 } <a class="code" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a>;
|
cannam@86
|
139 00441
|
cannam@86
|
140 00447 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a>[];
|
cannam@86
|
141 00448
|
cannam@86
|
142 00449
|
cannam@86
|
143 00450 <span class="comment">/***********************************************************************</span>
|
cannam@86
|
144 00451 <span class="comment"> *</span>
|
cannam@86
|
145 00452 <span class="comment"> * class FLAC__StreamDecoder</span>
|
cannam@86
|
146 00453 <span class="comment"> *</span>
|
cannam@86
|
147 00454 <span class="comment"> ***********************************************************************/</span>
|
cannam@86
|
148 00455
|
cannam@86
|
149 00456 <span class="keyword">struct </span>FLAC__StreamDecoderProtected;
|
cannam@86
|
150 00457 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate;
|
cannam@86
|
151 <a name="l00462"></a><a class="code" href="structFLAC____StreamDecoder.html">00462</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
|
cannam@86
|
152 00463 <span class="keyword">struct </span>FLAC__StreamDecoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span>
|
cannam@86
|
153 00464 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span>
|
cannam@86
|
154 00465 } <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>;
|
cannam@86
|
155 00466
|
cannam@86
|
156 <a name="l00516"></a><a class="code" href="group__flac__stream__decoder.html#ga8">00516</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
157 00517
|
cannam@86
|
158 <a name="l00551"></a><a class="code" href="group__flac__stream__decoder.html#ga9">00551</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
159 00552
|
cannam@86
|
160 <a name="l00589"></a><a class="code" href="group__flac__stream__decoder.html#ga10">00589</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
161 00590
|
cannam@86
|
162 <a name="l00627"></a><a class="code" href="group__flac__stream__decoder.html#ga11">00627</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
163 00628
|
cannam@86
|
164 <a name="l00654"></a><a class="code" href="group__flac__stream__decoder.html#ga12">00654</a> <span class="keyword">typedef</span> FLAC__bool (*<a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
165 00655
|
cannam@86
|
166 <a name="l00682"></a><a class="code" href="group__flac__stream__decoder.html#ga13">00682</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
167 00683
|
cannam@86
|
168 <a name="l00709"></a><a class="code" href="group__flac__stream__decoder.html#ga14">00709</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
169 00710
|
cannam@86
|
170 <a name="l00726"></a><a class="code" href="group__flac__stream__decoder.html#ga15">00726</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__StreamDecoderErrorStatus status, <span class="keywordtype">void</span> *client_data);
|
cannam@86
|
171 00727
|
cannam@86
|
172 00728
|
cannam@86
|
173 00729 <span class="comment">/***********************************************************************</span>
|
cannam@86
|
174 00730 <span class="comment"> *</span>
|
cannam@86
|
175 00731 <span class="comment"> * Class constructor/destructor</span>
|
cannam@86
|
176 00732 <span class="comment"> *</span>
|
cannam@86
|
177 00733 <span class="comment"> ***********************************************************************/</span>
|
cannam@86
|
178 00734
|
cannam@86
|
179 00742 FLAC_API <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *<a class="code" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a>(<span class="keywordtype">void</span>);
|
cannam@86
|
180 00743
|
cannam@86
|
181 00750 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
182 00751
|
cannam@86
|
183 00752
|
cannam@86
|
184 00753 <span class="comment">/***********************************************************************</span>
|
cannam@86
|
185 00754 <span class="comment"> *</span>
|
cannam@86
|
186 00755 <span class="comment"> * Public class method prototypes</span>
|
cannam@86
|
187 00756 <span class="comment"> *</span>
|
cannam@86
|
188 00757 <span class="comment"> ***********************************************************************/</span>
|
cannam@86
|
189 00758
|
cannam@86
|
190 00775 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">long</span> serial_number);
|
cannam@86
|
191 00776
|
cannam@86
|
192 00797 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__bool value);
|
cannam@86
|
193 00798
|
cannam@86
|
194 00811 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
|
cannam@86
|
195 00812
|
cannam@86
|
196 00826 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
|
cannam@86
|
197 00827
|
cannam@86
|
198 00838 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
199 00839
|
cannam@86
|
200 00852 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
|
cannam@86
|
201 00853
|
cannam@86
|
202 00867 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
|
cannam@86
|
203 00868
|
cannam@86
|
204 00879 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
205 00880
|
cannam@86
|
206 00889 FLAC_API FLAC__StreamDecoderState <a class="code" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
207 00890
|
cannam@86
|
208 00899 FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__stream__decoder.html#ga27">FLAC__stream_decoder_get_resolved_state_string</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
209 00900
|
cannam@86
|
210 00913 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
211 00914
|
cannam@86
|
212 00925 FLAC_API FLAC__uint64 <a class="code" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
213 00926
|
cannam@86
|
214 00937 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
215 00938
|
cannam@86
|
216 00949 FLAC_API <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> <a class="code" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
217 00950
|
cannam@86
|
218 00961 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
219 00962
|
cannam@86
|
220 00973 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
221 00974
|
cannam@86
|
222 00985 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
223 00986
|
cannam@86
|
224 01006 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *position);
|
cannam@86
|
225 01007
|
cannam@86
|
226 01072 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a>(
|
cannam@86
|
227 01073 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
228 01074 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback,
|
cannam@86
|
229 01075 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback,
|
cannam@86
|
230 01076 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback,
|
cannam@86
|
231 01077 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback,
|
cannam@86
|
232 01078 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback,
|
cannam@86
|
233 01079 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
234 01080 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
235 01081 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
236 01082 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
237 01083 );
|
cannam@86
|
238 01084
|
cannam@86
|
239 01153 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream</a>(
|
cannam@86
|
240 01154 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
241 01155 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback,
|
cannam@86
|
242 01156 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback,
|
cannam@86
|
243 01157 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback,
|
cannam@86
|
244 01158 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback,
|
cannam@86
|
245 01159 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback,
|
cannam@86
|
246 01160 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
247 01161 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
248 01162 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
249 01163 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
250 01164 );
|
cannam@86
|
251 01165
|
cannam@86
|
252 01203 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a>(
|
cannam@86
|
253 01204 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
254 01205 FILE *file,
|
cannam@86
|
255 01206 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
256 01207 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
257 01208 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
258 01209 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
259 01210 );
|
cannam@86
|
260 01211
|
cannam@86
|
261 01253 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE</a>(
|
cannam@86
|
262 01254 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
263 01255 FILE *file,
|
cannam@86
|
264 01256 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
265 01257 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
266 01258 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
267 01259 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
268 01260 );
|
cannam@86
|
269 01261
|
cannam@86
|
270 01295 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a>(
|
cannam@86
|
271 01296 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
272 01297 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename,
|
cannam@86
|
273 01298 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
274 01299 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
275 01300 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
276 01301 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
277 01302 );
|
cannam@86
|
278 01303
|
cannam@86
|
279 01341 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file</a>(
|
cannam@86
|
280 01342 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
|
cannam@86
|
281 01343 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename,
|
cannam@86
|
282 01344 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
|
cannam@86
|
283 01345 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
|
cannam@86
|
284 01346 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
|
cannam@86
|
285 01347 <span class="keywordtype">void</span> *client_data
|
cannam@86
|
286 01348 );
|
cannam@86
|
287 01349
|
cannam@86
|
288 01369 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
289 01370
|
cannam@86
|
290 01384 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
291 01385
|
cannam@86
|
292 01417 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
293 01418
|
cannam@86
|
294 01450 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
295 01451
|
cannam@86
|
296 01471 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
297 01472
|
cannam@86
|
298 01492 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
299 01493
|
cannam@86
|
300 01533 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
|
cannam@86
|
301 01534
|
cannam@86
|
302 01551 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 sample);
|
cannam@86
|
303 01552
|
cannam@86
|
304 01553 <span class="comment">/* \} */</span>
|
cannam@86
|
305 01554
|
cannam@86
|
306 01555 <span class="preprocessor">#ifdef __cplusplus</span>
|
cannam@86
|
307 01556 <span class="preprocessor"></span>}
|
cannam@86
|
308 01557 <span class="preprocessor">#endif</span>
|
cannam@86
|
309 01558 <span class="preprocessor"></span>
|
cannam@86
|
310 01559 <span class="preprocessor">#endif</span>
|
cannam@86
|
311 </pre></div>
|
cannam@86
|
312 <hr size="1">
|
cannam@86
|
313 <div class="copyright">
|
cannam@86
|
314 <!-- @@@ oh so hacky -->
|
cannam@86
|
315 <table>
|
cannam@86
|
316 <tr>
|
cannam@86
|
317 <td align="left">
|
cannam@86
|
318 Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
|
cannam@86
|
319 </td>
|
cannam@86
|
320 <td width="1%" align="right">
|
cannam@86
|
321 <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
|
cannam@86
|
322 </td>
|
cannam@86
|
323 </tr>
|
cannam@86
|
324 </table>
|
cannam@86
|
325 </div>
|
cannam@86
|
326 <!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
|
cannam@86
|
327 <!-- Permission is granted to copy, distribute and/or modify this document -->
|
cannam@86
|
328 <!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
|
cannam@86
|
329 <!-- or any later version published by the Free Software Foundation; -->
|
cannam@86
|
330 <!-- with no invariant sections. -->
|
cannam@86
|
331 <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
|
cannam@86
|
332 </body>
|
cannam@86
|
333 </html>
|