This class wraps the FLAC__StreamDecoder. If you are decoding from a file, FLAC::Decoder::File may be more convenient.
More...
#include <decoder.h>
List of all members.
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_ |
Detailed Description
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().
Member Function Documentation
virtual bool FLAC::Decoder::Stream::is_valid |
( |
|
) |
const [virtual] |
Call after construction to check the that the object was created successfully. If not, use get_state() to find out why not.
FLAC::Decoder::Stream::operator bool |
( |
|
) |
const [inline] |
virtual bool FLAC::Decoder::Stream::set_ogg_serial_number |
( |
long |
value |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_md5_checking |
( |
bool |
value |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_respond |
( |
::FLAC__MetadataType |
type |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_respond_application |
( |
const FLAC__byte |
id[4] |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_respond_all |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_ignore |
( |
::FLAC__MetadataType |
type |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_ignore_application |
( |
const FLAC__byte |
id[4] |
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::set_metadata_ignore_all |
( |
|
) |
[virtual] |
State FLAC::Decoder::Stream::get_state |
( |
|
) |
const |
virtual bool FLAC::Decoder::Stream::get_md5_checking |
( |
|
) |
const [virtual] |
virtual FLAC__uint64 FLAC::Decoder::Stream::get_total_samples |
( |
|
) |
const [virtual] |
virtual unsigned FLAC::Decoder::Stream::get_channels |
( |
|
) |
const [virtual] |
virtual unsigned FLAC::Decoder::Stream::get_bits_per_sample |
( |
|
) |
const [virtual] |
virtual unsigned FLAC::Decoder::Stream::get_sample_rate |
( |
|
) |
const [virtual] |
virtual unsigned FLAC::Decoder::Stream::get_blocksize |
( |
|
) |
const [virtual] |
virtual bool FLAC::Decoder::Stream::get_decode_position |
( |
FLAC__uint64 * |
position |
) |
const [virtual] |
virtual bool FLAC::Decoder::Stream::finish |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::flush |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::reset |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::process_single |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::process_until_end_of_metadata |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::process_until_end_of_stream |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::skip_single_frame |
( |
|
) |
[virtual] |
virtual bool FLAC::Decoder::Stream::seek_absolute |
( |
FLAC__uint64 |
sample |
) |
[virtual] |
see FLAC__StreamDecoderSeekCallback
see FLAC__StreamDecoderTellCallback
see FLAC__StreamDecoderLengthCallback
virtual bool FLAC::Decoder::Stream::eof_callback |
( |
|
) |
[protected, virtual] |
see FLAC__StreamDecoderEofCallback
see FLAC__StreamDecoderWriteCallback
virtual void FLAC::Decoder::Stream::metadata_callback |
( |
const ::FLAC__StreamMetadata * |
metadata |
) |
[protected, virtual] |
see FLAC__StreamDecoderMetadataCallback
see FLAC__StreamDecoderErrorCallback
The documentation for this class was generated from the following file: