~ubuntu-branches/ubuntu/hoary/flac/hoary

« back to all changes in this revision

Viewing changes to doc/html/api/FLAC++_2decoder_8h-source.html

  • Committer: Bazaar Package Importer
  • Author(s): Matt Zimmerman
  • Date: 2004-04-16 15:14:31 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040416151431-eyloggqxpwbwpogz
Tags: 1.1.0-11
Ensure that libFLAC is linked with -lm on all architectures, and
regardless of whether nasm is present

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>include/FLAC++/decoder.h Source File</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>include/FLAC++/decoder.h</h1><a href="FLAC++_2decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* libFLAC++ - Free Lossless Audio Codec library</font>
 
10
00002 <font class="comment"> * Copyright (C) 2002,2003  Josh Coalson</font>
 
11
00003 <font class="comment"> *</font>
 
12
00004 <font class="comment"> * This library is free software; you can redistribute it and/or</font>
 
13
00005 <font class="comment"> * modify it under the terms of the GNU Library General Public</font>
 
14
00006 <font class="comment"> * License as published by the Free Software Foundation; either</font>
 
15
00007 <font class="comment"> * version 2 of the License, or (at your option) any later version.</font>
 
16
00008 <font class="comment"> *</font>
 
17
00009 <font class="comment"> * This library is distributed in the hope that it will be useful,</font>
 
18
00010 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font>
 
19
00011 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</font>
 
20
00012 <font class="comment"> * Library General Public License for more details.</font>
 
21
00013 <font class="comment"> *</font>
 
22
00014 <font class="comment"> * You should have received a copy of the GNU Library General Public</font>
 
23
00015 <font class="comment"> * License along with this library; if not, write to the</font>
 
24
00016 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330,</font>
 
25
00017 <font class="comment"> * Boston, MA  02111-1307, USA.</font>
 
26
00018 <font class="comment"> */</font>
 
27
00019 
 
28
00020 <font class="preprocessor">#ifndef FLACPP__DECODER_H</font>
 
29
00021 <font class="preprocessor"></font><font class="preprocessor">#define FLACPP__DECODER_H</font>
 
30
00022 <font class="preprocessor"></font>
 
31
00023 <font class="preprocessor">#include "export.h"</font>
 
32
00024 
 
33
00025 <font class="preprocessor">#include "<a class="code" href="file__decoder_8h.html">FLAC/file_decoder.h</a>"</font>
 
34
00026 <font class="preprocessor">#include "<a class="code" href="seekable__stream__decoder_8h.html">FLAC/seekable_stream_decoder.h</a>"</font>
 
35
00027 <font class="preprocessor">#include "<a class="code" href="OggFLAC_2stream__decoder_8h.html">FLAC/stream_decoder.h</a>"</font>
 
36
00028 
 
37
00029 
 
38
00057 <font class="keyword">namespace </font>FLAC {
 
39
00058     <font class="keyword">namespace </font>Decoder {
 
40
00059 
 
41
00060         <font class="comment">// ============================================================</font>
 
42
00061         <font class="comment">//</font>
 
43
00062         <font class="comment">//  Equivalent: FLAC__StreamDecoder</font>
 
44
00063         <font class="comment">//</font>
 
45
00064         <font class="comment">// ============================================================</font>
 
46
00065 
 
47
<a name="l00079"></a><a class="code" href="classFLAC_1_1Decoder_1_1Stream.html">00079</a>         <font class="keyword">class </font>FLACPP_API Stream {
 
48
00080         <font class="keyword">public</font>:
 
49
00081             <font class="keyword">class </font>FLACPP_API State {
 
50
00082             <font class="keyword">public</font>:
 
51
00083                 <font class="keyword">inline</font> State(::<a class="code" href="FLAC_2stream__decoder_8h.html#a34">FLAC__StreamDecoderState</a> state): state_(state) { }
 
52
00084                 <font class="keyword">inline</font> <a class="code" href="FLAC_2stream__decoder_8h.html#a34">operator ::FLAC__StreamDecoderState</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> state_; }
 
53
00085                 <font class="keyword">inline</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *as_cstring()<font class="keyword"> const </font>{ return ::FLAC__StreamDecoderStateString[state_]; }
 
54
00086                 <font class="keyword">const</font> <font class="keywordtype">char</font> *resolved_as_cstring(<font class="keyword">const</font> Stream &amp;) <font class="keyword">const</font>;
 
55
00087             <font class="keyword">protected</font>:
 
56
00088                 ::FLAC__StreamDecoderState state_;
 
57
00089             };
 
58
00090 
 
59
00091             Stream();
 
60
00092             <font class="keyword">virtual</font> ~Stream();
 
61
00093 
 
62
00094             <font class="keywordtype">bool</font> is_valid() <font class="keyword">const</font>;
 
63
00095             <font class="keyword">inline</font> operator bool()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> is_valid(); }
 
64
00096 
 
65
00097             <font class="keywordtype">bool</font> set_metadata_respond(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
66
00098             <font class="keywordtype">bool</font> set_metadata_respond_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
67
00099             <font class="keywordtype">bool</font> set_metadata_respond_all();
 
68
00100             <font class="keywordtype">bool</font> set_metadata_ignore(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
69
00101             <font class="keywordtype">bool</font> set_metadata_ignore_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
70
00102             <font class="keywordtype">bool</font> set_metadata_ignore_all();
 
71
00103 
 
72
00104             State get_state() <font class="keyword">const</font>;
 
73
00105             <font class="keywordtype">unsigned</font> get_channels() <font class="keyword">const</font>;
 
74
00106             ::FLAC__ChannelAssignment get_channel_assignment() <font class="keyword">const</font>;
 
75
00107             <font class="keywordtype">unsigned</font> get_bits_per_sample() <font class="keyword">const</font>;
 
76
00108             <font class="keywordtype">unsigned</font> get_sample_rate() <font class="keyword">const</font>;
 
77
00109             <font class="keywordtype">unsigned</font> get_blocksize() <font class="keyword">const</font>;
 
78
00110 
 
79
00115             State init();
 
80
00116 
 
81
00117             <font class="keywordtype">void</font> finish();
 
82
00118 
 
83
00119             <font class="keywordtype">bool</font> flush();
 
84
00120             <font class="keywordtype">bool</font> reset();
 
85
00121 
 
86
00122             <font class="keywordtype">bool</font> process_single();
 
87
00123             <font class="keywordtype">bool</font> process_until_end_of_metadata();
 
88
00124             <font class="keywordtype">bool</font> process_until_end_of_stream();
 
89
00125         <font class="keyword">protected</font>:
 
90
00126             virtual ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], <font class="keywordtype">unsigned</font> *bytes) = 0;
 
91
00127             virtual ::FLAC__StreamDecoderWriteStatus write_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[]) = 0;
 
92
00128             <font class="keyword">virtual</font> <font class="keywordtype">void</font> metadata_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata) = 0;
 
93
00129             <font class="keyword">virtual</font> <font class="keywordtype">void</font> error_callback(::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status) = 0;
 
94
00130 
 
95
00131             ::FLAC__StreamDecoder *decoder_;
 
96
00132         <font class="keyword">private</font>:
 
97
00133             static ::FLAC__StreamDecoderReadStatus read_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], <font class="keywordtype">unsigned</font> *bytes, <font class="keywordtype">void</font> *client_data);
 
98
00134             static ::FLAC__StreamDecoderWriteStatus write_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[], <font class="keywordtype">void</font> *client_data);
 
99
00135             <font class="keyword">static</font> <font class="keywordtype">void</font> metadata_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <font class="keywordtype">void</font> *client_data);
 
100
00136             <font class="keyword">static</font> <font class="keywordtype">void</font> error_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, ::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status, <font class="keywordtype">void</font> *client_data);
 
101
00137 
 
102
00138             <font class="comment">// Private and undefined so you can't use them:</font>
 
103
00139             Stream(<font class="keyword">const</font> Stream &amp;);
 
104
00140             <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> Stream &amp;);
 
105
00141         };
 
106
00142 
 
107
00143         <font class="comment">/* \} */</font>
 
108
00144 
 
109
00145 
 
110
00146         <font class="comment">// ============================================================</font>
 
111
00147         <font class="comment">//</font>
 
112
00148         <font class="comment">//  Equivalent: FLAC__SeekableStreamDecoder</font>
 
113
00149         <font class="comment">//</font>
 
114
00150         <font class="comment">// ============================================================</font>
 
115
00151 
 
116
<a name="l00165"></a><a class="code" href="classFLAC_1_1Decoder_1_1SeekableStream.html">00165</a>         <font class="keyword">class </font>FLACPP_API SeekableStream {
 
117
00166         <font class="keyword">public</font>:
 
118
00167             <font class="keyword">class </font>FLACPP_API State {
 
119
00168             <font class="keyword">public</font>:
 
120
00169                 <font class="keyword">inline</font> State(::<a class="code" href="seekable__stream__decoder_8h.html#a49">FLAC__SeekableStreamDecoderState</a> state): state_(state) { }
 
121
00170                 <font class="keyword">inline</font> <a class="code" href="seekable__stream__decoder_8h.html#a49">operator ::FLAC__SeekableStreamDecoderState</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> state_; }
 
122
00171                 <font class="keyword">inline</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *as_cstring()<font class="keyword"> const </font>{ return ::FLAC__SeekableStreamDecoderStateString[state_]; }
 
123
00172                 <font class="keyword">const</font> <font class="keywordtype">char</font> *resolved_as_cstring(<font class="keyword">const</font> SeekableStream &amp;) <font class="keyword">const</font>;
 
124
00173             <font class="keyword">protected</font>:
 
125
00174                 ::FLAC__SeekableStreamDecoderState state_;
 
126
00175             };
 
127
00176 
 
128
00177             SeekableStream();
 
129
00178             <font class="keyword">virtual</font> ~SeekableStream();
 
130
00179 
 
131
00180             <font class="keywordtype">bool</font> is_valid() <font class="keyword">const</font>;
 
132
00181             <font class="keyword">inline</font> operator bool()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> is_valid(); }
 
133
00182 
 
134
00183             <font class="keywordtype">bool</font> set_md5_checking(<font class="keywordtype">bool</font> value);
 
135
00184             <font class="keywordtype">bool</font> set_metadata_respond(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
136
00185             <font class="keywordtype">bool</font> set_metadata_respond_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
137
00186             <font class="keywordtype">bool</font> set_metadata_respond_all();
 
138
00187             <font class="keywordtype">bool</font> set_metadata_ignore(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
139
00188             <font class="keywordtype">bool</font> set_metadata_ignore_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
140
00189             <font class="keywordtype">bool</font> set_metadata_ignore_all();
 
141
00190 
 
142
00191             State get_state() <font class="keyword">const</font>;
 
143
00192             Stream::State get_stream_decoder_state() <font class="keyword">const</font>;
 
144
00193             <font class="keywordtype">bool</font> get_md5_checking() <font class="keyword">const</font>;
 
145
00194             <font class="keywordtype">unsigned</font> get_channels() <font class="keyword">const</font>;
 
146
00195             ::FLAC__ChannelAssignment get_channel_assignment() <font class="keyword">const</font>;
 
147
00196             <font class="keywordtype">unsigned</font> get_bits_per_sample() <font class="keyword">const</font>;
 
148
00197             <font class="keywordtype">unsigned</font> get_sample_rate() <font class="keyword">const</font>;
 
149
00198             <font class="keywordtype">unsigned</font> get_blocksize() <font class="keyword">const</font>;
 
150
00199 
 
151
00200             State init();
 
152
00201 
 
153
00202             <font class="keywordtype">bool</font> finish();
 
154
00203 
 
155
00204             <font class="keywordtype">bool</font> flush();
 
156
00205             <font class="keywordtype">bool</font> reset();
 
157
00206 
 
158
00207             <font class="keywordtype">bool</font> process_single();
 
159
00208             <font class="keywordtype">bool</font> process_until_end_of_metadata();
 
160
00209             <font class="keywordtype">bool</font> process_until_end_of_stream();
 
161
00210 
 
162
00211             <font class="keywordtype">bool</font> seek_absolute(FLAC__uint64 sample);
 
163
00212         <font class="keyword">protected</font>:
 
164
00213             virtual ::FLAC__SeekableStreamDecoderReadStatus read_callback(FLAC__byte buffer[], <font class="keywordtype">unsigned</font> *bytes) = 0;
 
165
00214             virtual ::FLAC__SeekableStreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset) = 0;
 
166
00215             virtual ::FLAC__SeekableStreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset) = 0;
 
167
00216             virtual ::FLAC__SeekableStreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length) = 0;
 
168
00217             <font class="keyword">virtual</font> <font class="keywordtype">bool</font> eof_callback() = 0;
 
169
00218             virtual ::FLAC__StreamDecoderWriteStatus write_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[]) = 0;
 
170
00219             <font class="keyword">virtual</font> <font class="keywordtype">void</font> metadata_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata) = 0;
 
171
00220             <font class="keyword">virtual</font> <font class="keywordtype">void</font> error_callback(::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status) = 0;
 
172
00221 
 
173
00222             ::FLAC__SeekableStreamDecoder *decoder_;
 
174
00223         <font class="keyword">private</font>:
 
175
00224             static ::FLAC__SeekableStreamDecoderReadStatus read_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__byte buffer[], <font class="keywordtype">unsigned</font> *bytes, <font class="keywordtype">void</font> *client_data);
 
176
00225             static ::FLAC__SeekableStreamDecoderSeekStatus seek_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <font class="keywordtype">void</font> *client_data);
 
177
00226             static ::FLAC__SeekableStreamDecoderTellStatus tell_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <font class="keywordtype">void</font> *client_data);
 
178
00227             static ::FLAC__SeekableStreamDecoderLengthStatus length_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <font class="keywordtype">void</font> *client_data);
 
179
00228             <font class="keyword">static</font> FLAC__bool eof_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <font class="keywordtype">void</font> *client_data);
 
180
00229             static ::FLAC__StreamDecoderWriteStatus write_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[], <font class="keywordtype">void</font> *client_data);
 
181
00230             <font class="keyword">static</font> <font class="keywordtype">void</font> metadata_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <font class="keywordtype">void</font> *client_data);
 
182
00231             <font class="keyword">static</font> <font class="keywordtype">void</font> error_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____SeekableStreamDecoder.html">FLAC__SeekableStreamDecoder</a> *decoder, ::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status, <font class="keywordtype">void</font> *client_data);
 
183
00232 
 
184
00233             <font class="comment">// Private and undefined so you can't use them:</font>
 
185
00234             SeekableStream(<font class="keyword">const</font> SeekableStream &amp;);
 
186
00235             <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> SeekableStream &amp;);
 
187
00236         };
 
188
00237 
 
189
00238         <font class="comment">/* \} */</font>
 
190
00239 
 
191
00240 
 
192
00241         <font class="comment">// ============================================================</font>
 
193
00242         <font class="comment">//</font>
 
194
00243         <font class="comment">//  Equivalent: FLAC__FileDecoder</font>
 
195
00244         <font class="comment">//</font>
 
196
00245         <font class="comment">// ============================================================</font>
 
197
00246 
 
198
<a name="l00260"></a><a class="code" href="classFLAC_1_1Decoder_1_1File.html">00260</a>         <font class="keyword">class </font>FLACPP_API File {
 
199
00261         <font class="keyword">public</font>:
 
200
00262             <font class="keyword">class </font>FLACPP_API State {
 
201
00263             <font class="keyword">public</font>:
 
202
00264                 <font class="keyword">inline</font> State(::<a class="code" href="file__decoder_8h.html#a36">FLAC__FileDecoderState</a> state): state_(state) { }
 
203
00265                 <font class="keyword">inline</font> <a class="code" href="file__decoder_8h.html#a36">operator ::FLAC__FileDecoderState</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> state_; }
 
204
00266                 <font class="keyword">inline</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *as_cstring()<font class="keyword"> const </font>{ return ::FLAC__FileDecoderStateString[state_]; }
 
205
00267                 <font class="keyword">const</font> <font class="keywordtype">char</font> *resolved_as_cstring(<font class="keyword">const</font> File &amp;) <font class="keyword">const</font>;
 
206
00268             <font class="keyword">protected</font>:
 
207
00269                 ::FLAC__FileDecoderState state_;
 
208
00270             };
 
209
00271 
 
210
00272             File();
 
211
00273             <font class="keyword">virtual</font> ~File();
 
212
00274 
 
213
00275             <font class="keywordtype">bool</font> is_valid() <font class="keyword">const</font>;
 
214
00276             <font class="keyword">inline</font> operator bool()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> is_valid(); }
 
215
00277 
 
216
00278             <font class="keywordtype">bool</font> set_md5_checking(<font class="keywordtype">bool</font> value);
 
217
00279             <font class="keywordtype">bool</font> set_filename(<font class="keyword">const</font> <font class="keywordtype">char</font> *value); 
 
218
00280             <font class="keywordtype">bool</font> set_metadata_respond(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
219
00281             <font class="keywordtype">bool</font> set_metadata_respond_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
220
00282             <font class="keywordtype">bool</font> set_metadata_respond_all();
 
221
00283             <font class="keywordtype">bool</font> set_metadata_ignore(::<a class="code" href="format_8h.html#a93">FLAC__MetadataType</a> type);
 
222
00284             <font class="keywordtype">bool</font> set_metadata_ignore_application(<font class="keyword">const</font> FLAC__byte id[4]);
 
223
00285             <font class="keywordtype">bool</font> set_metadata_ignore_all();
 
224
00286 
 
225
00287             State get_state() <font class="keyword">const</font>;
 
226
00288             SeekableStream::State get_seekable_stream_decoder_state() <font class="keyword">const</font>;
 
227
00289             Stream::State get_stream_decoder_state() <font class="keyword">const</font>;
 
228
00290             <font class="keywordtype">bool</font> get_md5_checking() <font class="keyword">const</font>;
 
229
00291             <font class="keywordtype">unsigned</font> get_channels() <font class="keyword">const</font>;
 
230
00292             ::FLAC__ChannelAssignment get_channel_assignment() <font class="keyword">const</font>;
 
231
00293             <font class="keywordtype">unsigned</font> get_bits_per_sample() <font class="keyword">const</font>;
 
232
00294             <font class="keywordtype">unsigned</font> get_sample_rate() <font class="keyword">const</font>;
 
233
00295             <font class="keywordtype">unsigned</font> get_blocksize() <font class="keyword">const</font>;
 
234
00296 
 
235
00297             State init();
 
236
00298 
 
237
00299             <font class="keywordtype">bool</font> finish();
 
238
00300 
 
239
00301             <font class="keywordtype">bool</font> process_single();
 
240
00302             <font class="keywordtype">bool</font> process_until_end_of_metadata();
 
241
00303             <font class="keywordtype">bool</font> process_until_end_of_file();
 
242
00304 
 
243
00305             <font class="keywordtype">bool</font> seek_absolute(FLAC__uint64 sample);
 
244
00306         <font class="keyword">protected</font>:
 
245
00307             virtual ::FLAC__StreamDecoderWriteStatus write_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[]) = 0;
 
246
00308             <font class="keyword">virtual</font> <font class="keywordtype">void</font> metadata_callback(<font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata) = 0;
 
247
00309             <font class="keyword">virtual</font> <font class="keywordtype">void</font> error_callback(::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status) = 0;
 
248
00310 
 
249
00311             ::FLAC__FileDecoder *decoder_;
 
250
00312         <font class="keyword">private</font>:
 
251
00313             static ::FLAC__StreamDecoderWriteStatus write_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____FileDecoder.html">FLAC__FileDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <font class="keyword">const</font> FLAC__int32 * <font class="keyword">const</font> buffer[], <font class="keywordtype">void</font> *client_data);
 
252
00314             <font class="keyword">static</font> <font class="keywordtype">void</font> metadata_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____FileDecoder.html">FLAC__FileDecoder</a> *decoder, <font class="keyword">const</font> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <font class="keywordtype">void</font> *client_data);
 
253
00315             <font class="keyword">static</font> <font class="keywordtype">void</font> error_callback_(<font class="keyword">const</font> ::<a class="code" href="structFLAC____FileDecoder.html">FLAC__FileDecoder</a> *decoder, ::<a class="code" href="FLAC_2stream__decoder_8h.html#a37">FLAC__StreamDecoderErrorStatus</a> status, <font class="keywordtype">void</font> *client_data);
 
254
00316 
 
255
00317             <font class="comment">// Private and undefined so you can't use them:</font>
 
256
00318             File(<font class="keyword">const</font> File &amp;);
 
257
00319             <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> File &amp;);
 
258
00320         };
 
259
00321 
 
260
00322         <font class="comment">/* \} */</font>
 
261
00323 
 
262
00324     };
 
263
00325 };
 
264
00326 
 
265
00327 <font class="preprocessor">#endif</font>
 
266
</pre></div><hr><address><small>Generated on Sat Jan 25 10:44:46 2003 for FLAC by
 
267
<a href="http://www.doxygen.org/index.html">
 
268
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
 
269
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 
270
 &copy;&nbsp;1997-2002</small></address>
 
271
</body>
 
272
</html>