FLAC 1.4.2
Free Lossless Audio Codec
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
FLAC::Decoder::Stream Class Referenceabstract

#include <decoder.h>

Inheritance diagram for FLAC::Decoder::Stream:
FLAC::Decoder::File

Classes

class  State
 

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 uint32_t get_channels () const
 
virtual ::FLAC__ChannelAssignment get_channel_assignment () const
 
virtual uint32_t get_bits_per_sample () const
 
virtual uint32_t get_sample_rate () const
 
virtual uint32_t 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_
 

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 override seek_callback(), tell_callback(), length_callback(), and eof_callback().

Member Function Documentation

◆ is_valid()

virtual bool FLAC::Decoder::Stream::is_valid ( ) const
virtual

Call after construction to check that the object was created successfully. If not, use get_state() to find out why not.

◆ operator bool()

FLAC::Decoder::Stream::operator bool ( ) const
inline

◆ set_ogg_serial_number()

virtual bool FLAC::Decoder::Stream::set_ogg_serial_number ( long  value)
virtual

◆ set_md5_checking()

virtual bool FLAC::Decoder::Stream::set_md5_checking ( bool  value)
virtual

◆ set_metadata_respond()

virtual bool FLAC::Decoder::Stream::set_metadata_respond ( ::FLAC__MetadataType  type)
virtual

◆ set_metadata_respond_application()

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

◆ set_metadata_respond_all()

virtual bool FLAC::Decoder::Stream::set_metadata_respond_all ( )
virtual

◆ set_metadata_ignore()

virtual bool FLAC::Decoder::Stream::set_metadata_ignore ( ::FLAC__MetadataType  type)
virtual

◆ set_metadata_ignore_application()

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

◆ set_metadata_ignore_all()

virtual bool FLAC::Decoder::Stream::set_metadata_ignore_all ( )
virtual

◆ get_state()

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

◆ get_md5_checking()

virtual bool FLAC::Decoder::Stream::get_md5_checking ( ) const
virtual

◆ get_total_samples()

virtual FLAC__uint64 FLAC::Decoder::Stream::get_total_samples ( ) const
virtual

◆ get_channels()

virtual uint32_t FLAC::Decoder::Stream::get_channels ( ) const
virtual

◆ get_channel_assignment()

virtual ::FLAC__ChannelAssignment FLAC::Decoder::Stream::get_channel_assignment ( ) const

◆ get_bits_per_sample()

virtual uint32_t FLAC::Decoder::Stream::get_bits_per_sample ( ) const
virtual

◆ get_sample_rate()

virtual uint32_t FLAC::Decoder::Stream::get_sample_rate ( ) const
virtual

◆ get_blocksize()

virtual uint32_t FLAC::Decoder::Stream::get_blocksize ( ) const
virtual

◆ get_decode_position()

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

◆ init()

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

◆ init_ogg()

virtual ::FLAC__StreamDecoderInitStatus FLAC::Decoder::Stream::init_ogg ( )

◆ finish()

virtual bool FLAC::Decoder::Stream::finish ( )
virtual

◆ flush()

virtual bool FLAC::Decoder::Stream::flush ( )
virtual

◆ reset()

virtual bool FLAC::Decoder::Stream::reset ( )
virtual

◆ process_single()

virtual bool FLAC::Decoder::Stream::process_single ( )
virtual

◆ process_until_end_of_metadata()

virtual bool FLAC::Decoder::Stream::process_until_end_of_metadata ( )
virtual

◆ process_until_end_of_stream()

virtual bool FLAC::Decoder::Stream::process_until_end_of_stream ( )
virtual

◆ skip_single_frame()

virtual bool FLAC::Decoder::Stream::skip_single_frame ( )
virtual

◆ seek_absolute()

virtual bool FLAC::Decoder::Stream::seek_absolute ( FLAC__uint64  sample)
virtual

◆ read_callback()

virtual ::FLAC__StreamDecoderReadStatus FLAC::Decoder::Stream::read_callback ( FLAC__byte  buffer[],
size_t *  bytes 
)
protectedpure virtual

see FLAC__StreamDecoderReadCallback

Implemented in FLAC::Decoder::File.

◆ seek_callback()

virtual ::FLAC__StreamDecoderSeekStatus FLAC::Decoder::Stream::seek_callback ( FLAC__uint64  absolute_byte_offset)
protected

see FLAC__StreamDecoderSeekCallback

◆ tell_callback()

virtual ::FLAC__StreamDecoderTellStatus FLAC::Decoder::Stream::tell_callback ( FLAC__uint64 *  absolute_byte_offset)
protected

see FLAC__StreamDecoderTellCallback

◆ length_callback()

virtual ::FLAC__StreamDecoderLengthStatus FLAC::Decoder::Stream::length_callback ( FLAC__uint64 *  stream_length)
protected

see FLAC__StreamDecoderLengthCallback

◆ eof_callback()

virtual bool FLAC::Decoder::Stream::eof_callback ( )
protectedvirtual

see FLAC__StreamDecoderEofCallback

◆ write_callback()

virtual ::FLAC__StreamDecoderWriteStatus FLAC::Decoder::Stream::write_callback ( const ::FLAC__Frame frame,
const FLAC__int32 *const  buffer[] 
)
protectedpure virtual

see FLAC__StreamDecoderWriteCallback

◆ metadata_callback()

virtual void FLAC::Decoder::Stream::metadata_callback ( const ::FLAC__StreamMetadata metadata)
protectedvirtual

see FLAC__StreamDecoderMetadataCallback

◆ error_callback()

virtual void FLAC::Decoder::Stream::error_callback ( ::FLAC__StreamDecoderErrorStatus  status)
protectedpure virtual

see FLAC__StreamDecoderErrorCallback


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

Copyright (c) 2000-2009 Josh Coalson Copyright (c) 2011-2022 Xiph.Org Foundation