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

FLAC::Encoder::File Class Reference
[FLAC++/encoder.h: encoder classes]

#include <encoder.h>

Inheritance diagram for FLAC::Encoder::File:

FLAC::Encoder::Stream List of all members.

Detailed Description

This class wraps the FLAC__StreamEncoder. If you are not encoding to a file, you may need to use FLAC::Encoder::Stream.

The usage of this class is similar to FLAC__StreamEncoder, except instead of providing callbacks to FLAC__stream_encoder_init*_FILE() or FLAC__stream_encoder_init*_file(), 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.

There are no mandatory callbacks; all the callbacks from FLAC::Encoder::Stream are implemented here fully and support full post-encode STREAMINFO and SEEKTABLE updating. There is only an optional progress callback which you may override to get periodic reports on the progress of the encode.


Public Member Functions

virtual ::FLAC__StreamEncoderInitStatus init (FILE *file)
virtual ::FLAC__StreamEncoderInitStatus init (const char *filename)
virtual ::FLAC__StreamEncoderInitStatus init (const std::string &filename)
virtual ::FLAC__StreamEncoderInitStatus init_ogg (FILE *file)
virtual ::FLAC__StreamEncoderInitStatus init_ogg (const char *filename)
virtual ::FLAC__StreamEncoderInitStatus init_ogg (const std::string &filename)
virtual bool is_valid () const
 operator bool () const
virtual bool set_ogg_serial_number (long value)
virtual bool set_verify (bool value)
virtual bool set_streamable_subset (bool value)
virtual bool set_channels (unsigned value)
virtual bool set_bits_per_sample (unsigned value)
virtual bool set_sample_rate (unsigned value)
virtual bool set_compression_level (unsigned value)
virtual bool set_blocksize (unsigned value)
virtual bool set_do_mid_side_stereo (bool value)
virtual bool set_loose_mid_side_stereo (bool value)
virtual bool set_apodization (const char *specification)
virtual bool set_max_lpc_order (unsigned value)
virtual bool set_qlp_coeff_precision (unsigned value)
virtual bool set_do_qlp_coeff_prec_search (bool value)
virtual bool set_do_escape_coding (bool value)
virtual bool set_do_exhaustive_model_search (bool value)
virtual bool set_min_residual_partition_order (unsigned value)
virtual bool set_max_residual_partition_order (unsigned value)
virtual bool set_rice_parameter_search_dist (unsigned value)
virtual bool set_total_samples_estimate (FLAC__uint64 value)
virtual bool set_metadata (::FLAC__StreamMetadata **metadata, unsigned num_blocks)
virtual bool set_metadata (FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
State get_state () const
virtual Decoder::Stream::State get_verify_decoder_state () const
virtual void get_verify_decoder_error_stats (FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
virtual bool get_verify () const
virtual bool get_streamable_subset () const
virtual bool get_do_mid_side_stereo () const
virtual bool get_loose_mid_side_stereo () const
virtual unsigned get_channels () const
virtual unsigned get_bits_per_sample () const
virtual unsigned get_sample_rate () const
virtual unsigned get_blocksize () const
virtual unsigned get_max_lpc_order () const
virtual unsigned get_qlp_coeff_precision () const
virtual bool get_do_qlp_coeff_prec_search () const
virtual bool get_do_escape_coding () const
virtual bool get_do_exhaustive_model_search () const
virtual unsigned get_min_residual_partition_order () const
virtual unsigned get_max_residual_partition_order () const
virtual unsigned get_rice_parameter_search_dist () const
virtual FLAC__uint64 get_total_samples_estimate () const
virtual ::FLAC__StreamEncoderInitStatus init ()
virtual ::FLAC__StreamEncoderInitStatus init_ogg ()
virtual bool finish ()
virtual bool process (const FLAC__int32 *const buffer[], unsigned samples)
virtual bool process_interleaved (const FLAC__int32 buffer[], unsigned samples)

Protected Member Functions

virtual void progress_callback (FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)
virtual ::FLAC__StreamEncoderWriteStatus write_callback (const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)
virtual ::FLAC__StreamEncoderReadStatus read_callback (FLAC__byte buffer[], size_t *bytes)
virtual ::FLAC__StreamEncoderSeekStatus seek_callback (FLAC__uint64 absolute_byte_offset)
virtual ::FLAC__StreamEncoderTellStatus tell_callback (FLAC__uint64 *absolute_byte_offset)
virtual void metadata_callback (const ::FLAC__StreamMetadata *metadata)

Static Protected Member Functions

::FLAC__StreamEncoderReadStatus read_callback_ (const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)
::FLAC__StreamEncoderWriteStatus write_callback_ (const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
::FLAC__StreamEncoderSeekStatus seek_callback_ (const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)
::FLAC__StreamEncoderTellStatus tell_callback_ (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
static void metadata_callback_ (const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data)

Protected Attributes

::FLAC__StreamEncoderencoder_


Member Function Documentation

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init FILE *  file  ) 
 

See FLAC__stream_encoder_init_FILE().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init const char *  filename  )  [virtual]
 

See FLAC__stream_encoder_init_file().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init const std::string &  filename  )  [virtual]
 

See FLAC__stream_encoder_init_file().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init_ogg FILE *  file  )  [virtual]
 

See FLAC__stream_encoder_init_ogg_FILE().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init_ogg const char *  filename  )  [virtual]
 

See FLAC__stream_encoder_init_ogg_file().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::File::init_ogg const std::string &  filename  )  [virtual]
 

See FLAC__stream_encoder_init_ogg_file().

virtual void FLAC::Encoder::File::progress_callback FLAC__uint64  bytes_written,
FLAC__uint64  samples_written,
unsigned  frames_written,
unsigned  total_frames_estimate
[protected, virtual]
 

See FLAC__StreamEncoderProgressCallback.

virtual ::FLAC__StreamEncoderWriteStatus FLAC::Encoder::File::write_callback const FLAC__byte  buffer[],
size_t  bytes,
unsigned  samples,
unsigned  current_frame
[protected, virtual]
 

This is a dummy implementation to satisfy the pure virtual in Stream that is actually supplied internally by the C layer.

Implements FLAC::Encoder::Stream.

virtual bool FLAC::Encoder::Stream::is_valid  )  const [virtual, inherited]
 

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

FLAC::Encoder::Stream::operator bool  )  const [inline, inherited]
 

See is_valid().

virtual bool FLAC::Encoder::Stream::set_ogg_serial_number long  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_ogg_serial_number().

virtual bool FLAC::Encoder::Stream::set_verify bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_verify().

virtual bool FLAC::Encoder::Stream::set_streamable_subset bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_streamable_subset().

virtual bool FLAC::Encoder::Stream::set_channels unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_channels().

virtual bool FLAC::Encoder::Stream::set_bits_per_sample unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_bits_per_sample().

virtual bool FLAC::Encoder::Stream::set_sample_rate unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_sample_rate().

virtual bool FLAC::Encoder::Stream::set_compression_level unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_compression_level().

virtual bool FLAC::Encoder::Stream::set_blocksize unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_blocksize().

virtual bool FLAC::Encoder::Stream::set_do_mid_side_stereo bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_do_mid_side_stereo().

virtual bool FLAC::Encoder::Stream::set_loose_mid_side_stereo bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_loose_mid_side_stereo().

virtual bool FLAC::Encoder::Stream::set_apodization const char *  specification  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_apodization().

virtual bool FLAC::Encoder::Stream::set_max_lpc_order unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_max_lpc_order().

virtual bool FLAC::Encoder::Stream::set_qlp_coeff_precision unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_qlp_coeff_precision().

virtual bool FLAC::Encoder::Stream::set_do_qlp_coeff_prec_search bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_do_qlp_coeff_prec_search().

virtual bool FLAC::Encoder::Stream::set_do_escape_coding bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_do_escape_coding().

virtual bool FLAC::Encoder::Stream::set_do_exhaustive_model_search bool  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_do_exhaustive_model_search().

virtual bool FLAC::Encoder::Stream::set_min_residual_partition_order unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_min_residual_partition_order().

virtual bool FLAC::Encoder::Stream::set_max_residual_partition_order unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_max_residual_partition_order().

virtual bool FLAC::Encoder::Stream::set_rice_parameter_search_dist unsigned  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_rice_parameter_search_dist().

virtual bool FLAC::Encoder::Stream::set_total_samples_estimate FLAC__uint64  value  )  [virtual, inherited]
 

See FLAC__stream_encoder_set_total_samples_estimate().

virtual bool FLAC::Encoder::Stream::set_metadata ::FLAC__StreamMetadata **  metadata,
unsigned  num_blocks
[virtual, inherited]
 

See FLAC__stream_encoder_set_metadata().

virtual bool FLAC::Encoder::Stream::set_metadata FLAC::Metadata::Prototype **  metadata,
unsigned  num_blocks
[virtual, inherited]
 

See FLAC__stream_encoder_set_metadata().

State FLAC::Encoder::Stream::get_state  )  const [inherited]
 

See FLAC__stream_encoder_get_state().

virtual Decoder::Stream::State FLAC::Encoder::Stream::get_verify_decoder_state  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_verify_decoder_state().

virtual void FLAC::Encoder::Stream::get_verify_decoder_error_stats FLAC__uint64 *  absolute_sample,
unsigned *  frame_number,
unsigned *  channel,
unsigned *  sample,
FLAC__int32 *  expected,
FLAC__int32 *  got
[virtual, inherited]
 

See FLAC__stream_encoder_get_verify_decoder_error_stats().

virtual bool FLAC::Encoder::Stream::get_verify  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_verify().

virtual bool FLAC::Encoder::Stream::get_streamable_subset  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_streamable_subset().

virtual bool FLAC::Encoder::Stream::get_do_mid_side_stereo  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_do_mid_side_stereo().

virtual bool FLAC::Encoder::Stream::get_loose_mid_side_stereo  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_loose_mid_side_stereo().

virtual unsigned FLAC::Encoder::Stream::get_channels  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_channels().

virtual unsigned FLAC::Encoder::Stream::get_bits_per_sample  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_bits_per_sample().

virtual unsigned FLAC::Encoder::Stream::get_sample_rate  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_sample_rate().

virtual unsigned FLAC::Encoder::Stream::get_blocksize  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_blocksize().

virtual unsigned FLAC::Encoder::Stream::get_max_lpc_order  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_max_lpc_order().

virtual unsigned FLAC::Encoder::Stream::get_qlp_coeff_precision  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_qlp_coeff_precision().

virtual bool FLAC::Encoder::Stream::get_do_qlp_coeff_prec_search  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_do_qlp_coeff_prec_search().

virtual bool FLAC::Encoder::Stream::get_do_escape_coding  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_do_escape_coding().

virtual bool FLAC::Encoder::Stream::get_do_exhaustive_model_search  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_do_exhaustive_model_search().

virtual unsigned FLAC::Encoder::Stream::get_min_residual_partition_order  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_min_residual_partition_order().

virtual unsigned FLAC::Encoder::Stream::get_max_residual_partition_order  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_max_residual_partition_order().

virtual unsigned FLAC::Encoder::Stream::get_rice_parameter_search_dist  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_rice_parameter_search_dist().

virtual FLAC__uint64 FLAC::Encoder::Stream::get_total_samples_estimate  )  const [virtual, inherited]
 

See FLAC__stream_encoder_get_total_samples_estimate().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::Stream::init  )  [inherited]
 

See FLAC__stream_encoder_init_stream().

virtual ::FLAC__StreamEncoderInitStatus FLAC::Encoder::Stream::init_ogg  )  [virtual, inherited]
 

See FLAC__stream_encoder_init_ogg_stream().

virtual bool FLAC::Encoder::Stream::finish  )  [virtual, inherited]
 

See FLAC__stream_encoder_finish().

virtual bool FLAC::Encoder::Stream::process const FLAC__int32 *const   buffer[],
unsigned  samples
[virtual, inherited]
 

See FLAC__stream_encoder_process().

virtual bool FLAC::Encoder::Stream::process_interleaved const FLAC__int32  buffer[],
unsigned  samples
[virtual, inherited]
 

See FLAC__stream_encoder_process_interleaved().

virtual ::FLAC__StreamEncoderReadStatus FLAC::Encoder::Stream::read_callback FLAC__byte  buffer[],
size_t *  bytes
[protected, virtual, inherited]
 

See FLAC__StreamEncoderReadCallback.

virtual ::FLAC__StreamEncoderSeekStatus FLAC::Encoder::Stream::seek_callback FLAC__uint64  absolute_byte_offset  )  [protected, virtual, inherited]
 

See FLAC__StreamEncoderSeekCallback.

virtual ::FLAC__StreamEncoderTellStatus FLAC::Encoder::Stream::tell_callback FLAC__uint64 *  absolute_byte_offset  )  [protected, virtual, inherited]
 

See FLAC__StreamEncoderTellCallback.

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

See FLAC__StreamEncoderMetadataCallback.


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