Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

FLAC::Decoder::Stream Class Reference
[FLAC++/decoder.h: decoder classes]

#include <decoder.h>

Inheritance diagram for FLAC::Decoder::Stream:

FLAC::Decoder::File List of all members.

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().


Public Member Functions

virtual bool is_valid () const
 operator bool () const
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)

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__StreamDecoderdecoder_

Classes

class  State


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]
 

See is_valid().

virtual bool FLAC::Decoder::Stream::set_ogg_serial_number long  value  )  [virtual]
 

See FLAC__stream_decoder_set_ogg_serial_number().

virtual bool FLAC::Decoder::Stream::set_md5_checking bool  value  )  [virtual]
 

See FLAC__stream_decoder_set_md5_checking().

virtual bool FLAC::Decoder::Stream::set_metadata_respond ::FLAC__MetadataType  type  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_respond().

virtual bool FLAC::Decoder::Stream::set_metadata_respond_application const FLAC__byte  id[4]  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_respond_application().

virtual bool FLAC::Decoder::Stream::set_metadata_respond_all  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_respond_all().

virtual bool FLAC::Decoder::Stream::set_metadata_ignore ::FLAC__MetadataType  type  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_ignore().

virtual bool FLAC::Decoder::Stream::set_metadata_ignore_application const FLAC__byte  id[4]  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_ignore_application().

virtual bool FLAC::Decoder::Stream::set_metadata_ignore_all  )  [virtual]
 

See FLAC__stream_decoder_set_metadata_ignore_all().

State FLAC::Decoder::Stream::get_state  )  const
 

See FLAC__stream_decoder_get_state().

virtual bool FLAC::Decoder::Stream::get_md5_checking  )  const [virtual]
 

See FLAC__stream_decoder_get_md5_checking().

virtual FLAC__uint64 FLAC::Decoder::Stream::get_total_samples  )  const [virtual]
 

See FLAC__stream_decoder_get_total_samples().

virtual unsigned FLAC::Decoder::Stream::get_channels  )  const [virtual]
 

See FLAC__stream_decoder_get_channels().

virtual ::FLAC__ChannelAssignment FLAC::Decoder::Stream::get_channel_assignment  )  const [virtual]
 

See FLAC__stream_decoder_get_channel_assignment().

virtual unsigned FLAC::Decoder::Stream::get_bits_per_sample  )  const [virtual]
 

See FLAC__stream_decoder_get_bits_per_sample().

virtual unsigned FLAC::Decoder::Stream::get_sample_rate  )  const [virtual]
 

See FLAC__stream_decoder_get_sample_rate().

virtual unsigned FLAC::Decoder::Stream::get_blocksize  )  const [virtual]
 

See FLAC__stream_decoder_get_blocksize().

virtual bool FLAC::Decoder::Stream::get_decode_position FLAC__uint64 *  position  )  const [virtual]
 

See FLAC__stream_decoder_get_decode_position().

virtual ::FLAC__StreamDecoderInitStatus FLAC::Decoder::Stream::init  ) 
 

Seek FLAC__stream_decoder_init_stream().

virtual ::FLAC__StreamDecoderInitStatus FLAC::Decoder::Stream::init_ogg  )  [virtual]
 

Seek FLAC__stream_decoder_init_ogg_stream().

virtual bool FLAC::Decoder::Stream::finish  )  [virtual]
 

See FLAC__stream_decoder_finish().

virtual bool FLAC::Decoder::Stream::flush  )  [virtual]
 

See FLAC__stream_decoder_flush().

virtual bool FLAC::Decoder::Stream::reset  )  [virtual]
 

See FLAC__stream_decoder_reset().

virtual bool FLAC::Decoder::Stream::process_single  )  [virtual]
 

See FLAC__stream_decoder_process_single().

virtual bool FLAC::Decoder::Stream::process_until_end_of_metadata  )  [virtual]
 

See FLAC__stream_decoder_process_until_end_of_metadata().

virtual bool FLAC::Decoder::Stream::process_until_end_of_stream  )  [virtual]
 

See FLAC__stream_decoder_process_until_end_of_stream().

virtual bool FLAC::Decoder::Stream::skip_single_frame  )  [virtual]
 

See FLAC__stream_decoder_skip_single_frame().

virtual bool FLAC::Decoder::Stream::seek_absolute FLAC__uint64  sample  )  [virtual]
 

See FLAC__stream_decoder_seek_absolute().

virtual ::FLAC__StreamDecoderReadStatus FLAC::Decoder::Stream::read_callback FLAC__byte  buffer[],
size_t *  bytes
[protected, pure virtual]
 

see FLAC__StreamDecoderReadCallback

Implemented in FLAC::Decoder::File.

virtual ::FLAC__StreamDecoderSeekStatus FLAC::Decoder::Stream::seek_callback FLAC__uint64  absolute_byte_offset  )  [protected, virtual]
 

see FLAC__StreamDecoderSeekCallback

virtual ::FLAC__StreamDecoderTellStatus FLAC::Decoder::Stream::tell_callback FLAC__uint64 *  absolute_byte_offset  )  [protected, virtual]
 

see FLAC__StreamDecoderTellCallback

virtual ::FLAC__StreamDecoderLengthStatus FLAC::Decoder::Stream::length_callback FLAC__uint64 *  stream_length  )  [protected, virtual]
 

see FLAC__StreamDecoderLengthCallback

virtual bool FLAC::Decoder::Stream::eof_callback  )  [protected, virtual]
 

see FLAC__StreamDecoderEofCallback

virtual ::FLAC__StreamDecoderWriteStatus FLAC::Decoder::Stream::write_callback const ::FLAC__Frame frame,
const FLAC__int32 *const   buffer[]
[protected, pure virtual]
 

see FLAC__StreamDecoderWriteCallback

virtual void FLAC::Decoder::Stream::metadata_callback const ::FLAC__StreamMetadata metadata  )  [protected, virtual]
 

see FLAC__StreamDecoderMetadataCallback

virtual void FLAC::Decoder::Stream::error_callback ::FLAC__StreamDecoderErrorStatus  status  )  [protected, pure virtual]
 

see FLAC__StreamDecoderErrorCallback


The documentation for this class was generated from the following file: