bool Stream::set_metadata(::FLAC__StreamMetadata **metadata, unsigned num_blocks) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_metadata(encoder_, metadata, num_blocks); }
bool Stream::set_streamable_subset(bool value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_streamable_subset(encoder_, value); }
bool Stream::set_sample_rate(unsigned value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_sample_rate(encoder_, value); }
::FLAC__StreamEncoderInitStatus File::init_ogg(const char *filename) { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_init_ogg_file(encoder_, filename, progress_callback_, /*client_data=*/(void*)this); }
bool Stream::set_ogg_serial_number(long value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_ogg_serial_number(encoder_, value); }
::FLAC__StreamEncoderInitStatus Stream::init_ogg() { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_init_ogg_stream(encoder_, read_callback_, write_callback_, seek_callback_, tell_callback_, metadata_callback_, /*client_data=*/(void*)this); }
bool Stream::process_interleaved(const FLAC__int32 buffer[], unsigned samples) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_process_interleaved(encoder_, buffer, samples); }
unsigned Stream::get_channels() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_channels(encoder_); }
unsigned Stream::get_sample_rate() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_sample_rate(encoder_); }
bool Stream::get_streamable_subset() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_streamable_subset(encoder_); }
bool Stream::get_loose_mid_side_stereo() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_loose_mid_side_stereo(encoder_); }
bool Stream::get_verify() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_verify(encoder_); }
void Stream::get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got) { FLAC__ASSERT(is_valid()); ::FLAC__stream_encoder_get_verify_decoder_error_stats(encoder_, absolute_sample, frame_number, channel, sample, expected, got); }
Decoder::Stream::State Stream::get_verify_decoder_state() const { FLAC__ASSERT(is_valid()); return Decoder::Stream::State(::FLAC__stream_encoder_get_verify_decoder_state(encoder_)); }
unsigned Stream::get_rice_parameter_search_dist() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_rice_parameter_search_dist(encoder_); }
unsigned Stream::get_blocksize() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_blocksize(encoder_); }
FLAC__uint64 Stream::get_total_samples_estimate() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_total_samples_estimate(encoder_); }
unsigned Stream::get_max_lpc_order() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_max_lpc_order(encoder_); }
bool Stream::finish() { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_finish(encoder_); }
unsigned Stream::get_qlp_coeff_precision() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_qlp_coeff_precision(encoder_); }
::FLAC__StreamEncoderInitStatus File::init(FILE *file) { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_init_FILE(encoder_, file, progress_callback_, /*client_data=*/(void*)this); }
bool Stream::get_do_qlp_coeff_prec_search() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_do_qlp_coeff_prec_search(encoder_); }
// This is a dummy to satisfy the pure virtual from Stream; the // read callback will never be called since we are initializing // with FLAC__stream_decoder_init_FILE() or // FLAC__stream_decoder_init_file() and those supply the read // callback internally. ::FLAC__StreamEncoderWriteStatus File::write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame) { (void)buffer, (void)bytes, (void)samples, (void)current_frame; FLAC__ASSERT(false); return ::FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR; // double protection }
bool Stream::get_do_escape_coding() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_do_escape_coding(encoder_); }
bool Stream::set_verify(bool value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_verify(encoder_, value); }
bool Stream::get_do_exhaustive_model_search() const { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_get_do_exhaustive_model_search(encoder_); }
bool Stream::set_channels(unsigned value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_channels(encoder_, value); }
unsigned Stream::get_max_residual_partition_order() const { FLAC__ASSERT(is_valid()); return ::FLAC__stream_encoder_get_max_residual_partition_order(encoder_); }
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) { FLAC__ASSERT(0 != object); FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT); return FLAC__metadata_object_vorbiscomment_insert_comment(object, object->data.vorbis_comment.num_comments, entry, copy); }
bool Stream::set_total_samples_estimate(FLAC__uint64 value) { FLAC__ASSERT(is_valid()); return (bool)::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value); }