33 #ifndef FLACPP__DECODER_H
34 #define FLACPP__DECODER_H
121 virtual bool is_valid()
const;
122 inline operator bool()
const {
return is_valid(); }
125 virtual bool set_ogg_serial_number(
long value);
126 virtual bool set_md5_checking(
bool value);
128 virtual bool set_metadata_respond_application(
const FLAC__byte
id[4]);
129 virtual bool set_metadata_respond_all();
131 virtual bool set_metadata_ignore_application(
const FLAC__byte
id[4]);
132 virtual bool set_metadata_ignore_all();
135 State get_state()
const;
136 virtual bool get_md5_checking()
const;
137 virtual FLAC__uint64 get_total_samples()
const;
138 virtual uint32_t get_channels()
const;
140 virtual uint32_t get_bits_per_sample()
const;
141 virtual uint32_t get_sample_rate()
const;
142 virtual uint32_t get_blocksize()
const;
143 virtual bool get_decode_position(FLAC__uint64 *position)
const;
148 virtual bool finish();
150 virtual bool flush();
151 virtual bool reset();
153 virtual bool process_single();
154 virtual bool process_until_end_of_metadata();
155 virtual bool process_until_end_of_stream();
156 virtual bool skip_single_frame();
158 virtual bool seek_absolute(FLAC__uint64 sample);
173 virtual bool eof_callback();
184 #if (defined __BORLANDC__) || (defined __GNUG__ && (__GNUG__ < 2 || (__GNUG__ == 2 && __GNUC_MINOR__ < 96))) || (defined __SUNPRO_CC)
194 static FLAC__bool eof_callback_(const ::FLAC__StreamDecoder *decoder,
void *client_data);
201 void operator=(
const Stream &);
242 void operator=(
const File &);