FLAC 1.5.0 Free Lossless Audio Codec

Classes | Macros | Typedefs | Enumerations | Functions | Variables
stream_encoder.h File Reference
`#include <stdio.h>`
`#include "export.h"`
`#include "format.h"`
`#include "stream_decoder.h"`

Go to the source code of this file.

## Classes
struct | FLAC__StreamEncoder

## Macros
#define | FLAC__STREAM_ENCODER_SET_NUM_THREADS_OK 0
#define | FLAC__STREAM_ENCODER_SET_NUM_THREADS_NOT_COMPILED_WITH_MULTITHREADING_ENABLED 1
#define | FLAC__STREAM_ENCODER_SET_NUM_THREADS_ALREADY_INITIALIZED 2
#define | FLAC__STREAM_ENCODER_SET_NUM_THREADS_TOO_MANY_THREADS 3

## Typedefs
typedef FLAC__StreamEncoderReadStatus(* | FLAC__StreamEncoderReadCallback) (const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)
typedef FLAC__StreamEncoderWriteStatus(* | FLAC__StreamEncoderWriteCallback) (const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
typedef FLAC__StreamEncoderSeekStatus(* | FLAC__StreamEncoderSeekCallback) (const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)
typedef FLAC__StreamEncoderTellStatus(* | FLAC__StreamEncoderTellCallback) (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
typedef void(* | FLAC__StreamEncoderMetadataCallback) (const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
typedef void(* | FLAC__StreamEncoderProgressCallback) (const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data)

## Enumerations
enum | FLAC__StreamEncoderState { FLAC__STREAM_ENCODER_OK = 0 , FLAC__STREAM_ENCODER_UNINITIALIZED , FLAC__STREAM_ENCODER_OGG_ERROR , FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR , FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA , FLAC__STREAM_ENCODER_CLIENT_ERROR , FLAC__STREAM_ENCODER_IO_ERROR , FLAC__STREAM_ENCODER_FRAMING_ERROR , FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR }
enum | FLAC__StreamEncoderInitStatus { FLAC__STREAM_ENCODER_INIT_STATUS_OK = 0 , FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR , FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION , FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER , FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE , FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA , FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED }
enum | FLAC__StreamEncoderReadStatus { FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE , FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM , FLAC__STREAM_ENCODER_READ_STATUS_ABORT , FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED }
enum | FLAC__StreamEncoderWriteStatus { FLAC__STREAM_ENCODER_WRITE_STATUS_OK = 0 , FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR }
enum | FLAC__StreamEncoderSeekStatus { FLAC__STREAM_ENCODER_SEEK_STATUS_OK , FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR , FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED }
enum | FLAC__StreamEncoderTellStatus { FLAC__STREAM_ENCODER_TELL_STATUS_OK , FLAC__STREAM_ENCODER_TELL_STATUS_ERROR , FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED }

## Functions
FLAC__StreamEncoder * | FLAC__stream_encoder_new (void)
void | FLAC__stream_encoder_delete (FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_set_ogg_serial_number (FLAC__StreamEncoder *encoder, long serial_number)
FLAC__bool | FLAC__stream_encoder_set_verify (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_streamable_subset (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_channels (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_bits_per_sample (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_sample_rate (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_compression_level (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_blocksize (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_do_mid_side_stereo (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_loose_mid_side_stereo (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_apodization (FLAC__StreamEncoder *encoder, const char *specification)
FLAC__bool | FLAC__stream_encoder_set_max_lpc_order (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_qlp_coeff_precision (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_do_qlp_coeff_prec_search (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_do_escape_coding (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_do_exhaustive_model_search (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__bool | FLAC__stream_encoder_set_min_residual_partition_order (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_max_residual_partition_order (FLAC__StreamEncoder *encoder, uint32_t value)
uint32_t | FLAC__stream_encoder_set_num_threads (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_rice_parameter_search_dist (FLAC__StreamEncoder *encoder, uint32_t value)
FLAC__bool | FLAC__stream_encoder_set_total_samples_estimate (FLAC__StreamEncoder *encoder, FLAC__uint64 value)
FLAC__bool | FLAC__stream_encoder_set_metadata (FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, uint32_t num_blocks)
FLAC__bool | FLAC__stream_encoder_set_limit_min_bitrate (FLAC__StreamEncoder *encoder, FLAC__bool value)
FLAC__StreamEncoderState | FLAC__stream_encoder_get_state (const FLAC__StreamEncoder *encoder)
FLAC__StreamDecoderState | FLAC__stream_encoder_get_verify_decoder_state (const FLAC__StreamEncoder *encoder)
const char * | FLAC__stream_encoder_get_resolved_state_string (const FLAC__StreamEncoder *encoder)
void | FLAC__stream_encoder_get_verify_decoder_error_stats (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got)
FLAC__bool | FLAC__stream_encoder_get_verify (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_streamable_subset (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_channels (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_bits_per_sample (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_sample_rate (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_blocksize (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_do_mid_side_stereo (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_loose_mid_side_stereo (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_max_lpc_order (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_qlp_coeff_precision (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_do_qlp_coeff_prec_search (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_do_escape_coding (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_do_exhaustive_model_search (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_min_residual_partition_order (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_max_residual_partition_order (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_num_threads (const FLAC__StreamEncoder *encoder)
uint32_t | FLAC__stream_encoder_get_rice_parameter_search_dist (const FLAC__StreamEncoder *encoder)
FLAC__uint64 | FLAC__stream_encoder_get_total_samples_estimate (const FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_get_limit_min_bitrate (const FLAC__StreamEncoder *encoder)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_stream (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_ogg_stream (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_FILE (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_ogg_FILE (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_file (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
FLAC__StreamEncoderInitStatus | FLAC__stream_encoder_init_ogg_file (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
FLAC__bool | FLAC__stream_encoder_finish (FLAC__StreamEncoder *encoder)
FLAC__bool | FLAC__stream_encoder_process (FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], uint32_t samples)
FLAC__bool | FLAC__stream_encoder_process_interleaved (FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], uint32_t samples)

## Variables
const char *const | FLAC__StreamEncoderStateString []
const char *const | FLAC__StreamEncoderInitStatusString []
const char *const | FLAC__StreamEncoderReadStatusString []
const char *const | FLAC__StreamEncoderWriteStatusString []
const char *const | FLAC__StreamEncoderSeekStatusString []
const char *const | FLAC__StreamEncoderTellStatusString []

## Detailed Description

This module contains the functions which implement the stream encoder.

See the detailed documentation in the stream encoder module.

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