| FLAC
    1.3.1
    | 
#include <decoder.h>
 
  
 | Classes | |
| class | State | 
| Public Member Functions | |
| virtual bool | set_ogg_serial_number (long value) | 
| virtual bool | set_md5_checking (bool value) | 
| virtual bool | set_metadata_respond (::FLAC__MetadataType type) | 
| virtual bool | set_metadata_respond_application (const FLAC__byte id[4]) | 
| virtual bool | set_metadata_respond_all () | 
| virtual bool | set_metadata_ignore (::FLAC__MetadataType type) | 
| virtual bool | set_metadata_ignore_application (const FLAC__byte id[4]) | 
| virtual bool | set_metadata_ignore_all () | 
| State | get_state () const | 
| virtual bool | get_md5_checking () const | 
| virtual FLAC__uint64 | get_total_samples () const | 
| virtual unsigned | get_channels () const | 
| virtual ::FLAC__ChannelAssignment | get_channel_assignment () const | 
| virtual unsigned | get_bits_per_sample () const | 
| virtual unsigned | get_sample_rate () const | 
| virtual unsigned | get_blocksize () const | 
| virtual bool | get_decode_position (FLAC__uint64 *position) const | 
| virtual ::FLAC__StreamDecoderInitStatus | init () | 
| virtual ::FLAC__StreamDecoderInitStatus | init_ogg () | 
| virtual bool | finish () | 
| virtual bool | flush () | 
| virtual bool | reset () | 
| virtual bool | process_single () | 
| virtual bool | process_until_end_of_metadata () | 
| virtual bool | process_until_end_of_stream () | 
| virtual bool | skip_single_frame () | 
| virtual bool | seek_absolute (FLAC__uint64 sample) | 
| virtual bool | is_valid () const | 
| operator bool () const | |
| Protected Member Functions | |
| virtual ::FLAC__StreamDecoderReadStatus | read_callback (FLAC__byte buffer[], size_t *bytes)=0 | 
| virtual ::FLAC__StreamDecoderSeekStatus | seek_callback (FLAC__uint64 absolute_byte_offset) | 
| virtual ::FLAC__StreamDecoderTellStatus | tell_callback (FLAC__uint64 *absolute_byte_offset) | 
| virtual ::FLAC__StreamDecoderLengthStatus | length_callback (FLAC__uint64 *stream_length) | 
| virtual bool | eof_callback () | 
| virtual ::FLAC__StreamDecoderWriteStatus | write_callback (const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0 | 
| virtual void | metadata_callback (const ::FLAC__StreamMetadata *metadata) | 
| virtual void | error_callback (::FLAC__StreamDecoderErrorStatus status)=0 | 
| Static Protected Member Functions | |
| ::FLAC__StreamDecoderReadStatus | read_callback_ (const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) | 
| ::FLAC__StreamDecoderSeekStatus | seek_callback_ (const ::FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) | 
| ::FLAC__StreamDecoderTellStatus | tell_callback_ (const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) | 
| ::FLAC__StreamDecoderLengthStatus | length_callback_ (const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) | 
| static FLAC__bool | eof_callback_ (const ::FLAC__StreamDecoder *decoder, void *client_data) | 
| ::FLAC__StreamDecoderWriteStatus | write_callback_ (const ::FLAC__StreamDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) | 
| static void | metadata_callback_ (const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data) | 
| static void | error_callback_ (const ::FLAC__StreamDecoder *decoder,::FLAC__StreamDecoderErrorStatus status, void *client_data) | 
| Protected Attributes | |
| ::FLAC__StreamDecoder * | decoder_ | 
This class wraps the FLAC__StreamDecoder. If you are decoding from a file, FLAC::Decoder::File may be more convenient.
The usage of this class is similar to FLAC__StreamDecoder, except instead of providing callbacks to FLAC__stream_decoder_init*_stream(), you will inherit from this class and override the virtual callback functions with your own implementations, then call init() or init_ogg(). The rest of the calls work the same as in the C layer.
Only the read, write, and error callbacks are mandatory. The others are optional; this class provides default implementations that do nothing. In order for seeking to work you must overide seek_callback(), tell_callback(), length_callback(), and eof_callback().
| 
 | virtual | 
Call after construction to check the that the object was created successfully. If not, use get_state() to find out why not.
| 
 | inline | 
See is_valid()
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| State FLAC::Decoder::Stream::get_state | ( | ) | const | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| virtual ::FLAC__ChannelAssignment FLAC::Decoder::Stream::get_channel_assignment | ( | ) | const | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| virtual ::FLAC__StreamDecoderInitStatus FLAC::Decoder::Stream::init | ( | ) | 
| virtual ::FLAC__StreamDecoderInitStatus FLAC::Decoder::Stream::init_ogg | ( | ) | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | virtual | 
| 
 | protectedpure virtual | 
see FLAC__StreamDecoderReadCallback
Implemented in FLAC::Decoder::File.
| 
 | protected | 
see FLAC__StreamDecoderSeekCallback
| 
 | protected | 
see FLAC__StreamDecoderTellCallback
| 
 | protected | 
see FLAC__StreamDecoderLengthCallback
| 
 | protectedvirtual | 
see FLAC__StreamDecoderEofCallback
| 
 | protectedpure virtual | 
see FLAC__StreamDecoderWriteCallback
| 
 | protectedvirtual | 
see FLAC__StreamDecoderMetadataCallback
| 
 | protectedpure virtual | 
see FLAC__StreamDecoderErrorCallback