Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

OggFLAC/seekable_stream_encoder.h: seekable stream encoder interface
[OggFLAC/_encoder.h: encoder interfaces]

This module contains the functions which implement the seekable stream encoder. The Ogg seekable stream encoder is derived from the FLAC seekable stream encoder. More...

Compounds

struct  OggFLAC__SeekableStreamEncoder

Typedefs

typedef OggFLAC__SeekableStreamEncoderReadStatus(* OggFLAC__SeekableStreamEncoderReadCallback )(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
typedef FLAC__SeekableStreamEncoderSeekStatus(* OggFLAC__SeekableStreamEncoderSeekCallback )(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)
typedef FLAC__SeekableStreamEncoderTellStatus(* OggFLAC__SeekableStreamEncoderTellCallback )(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
typedef FLAC__StreamEncoderWriteStatus(* OggFLAC__SeekableStreamEncoderWriteCallback )(const OggFLAC__SeekableStreamEncoder *encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data)

Enumerations

enum  OggFLAC__SeekableStreamEncoderState {
  OggFLAC__SEEKABLE_STREAM_ENCODER_OK = 0, OggFLAC__SEEKABLE_STREAM_ENCODER_OGG_ERROR, OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR, OggFLAC__SEEKABLE_STREAM_ENCODER_MEMORY_ALLOCATION_ERROR,
  OggFLAC__SEEKABLE_STREAM_ENCODER_WRITE_ERROR, OggFLAC__SEEKABLE_STREAM_ENCODER_READ_ERROR, OggFLAC__SEEKABLE_STREAM_ENCODER_SEEK_ERROR, OggFLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR,
  OggFLAC__SEEKABLE_STREAM_ENCODER_ALREADY_INITIALIZED, OggFLAC__SEEKABLE_STREAM_ENCODER_INVALID_CALLBACK, OggFLAC__SEEKABLE_STREAM_ENCODER_INVALID_SEEKTABLE, OggFLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED
}
enum  OggFLAC__SeekableStreamEncoderReadStatus { OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_CONTINUE, OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_END_OF_STREAM, OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_ABORT }

Functions

OggFLAC_API OggFLAC__SeekableStreamEncoderOggFLAC__seekable_stream_encoder_new ()
OggFLAC_API void OggFLAC__seekable_stream_encoder_delete (OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_serial_number (OggFLAC__SeekableStreamEncoder *encoder, long serial_number)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_verify (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_streamable_subset (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_mid_side_stereo (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_loose_mid_side_stereo (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_channels (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_bits_per_sample (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_sample_rate (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_blocksize (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_max_lpc_order (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_qlp_coeff_precision (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_escape_coding (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_exhaustive_model_search (OggFLAC__SeekableStreamEncoder *encoder, FLAC__bool value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_min_residual_partition_order (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_max_residual_partition_order (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_rice_parameter_search_dist (OggFLAC__SeekableStreamEncoder *encoder, unsigned value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_total_samples_estimate (OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_metadata (OggFLAC__SeekableStreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_read_callback (OggFLAC__SeekableStreamEncoder *encoder, OggFLAC__SeekableStreamEncoderReadCallback value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_seek_callback (OggFLAC__SeekableStreamEncoder *encoder, OggFLAC__SeekableStreamEncoderSeekCallback value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_tell_callback (OggFLAC__SeekableStreamEncoder *encoder, OggFLAC__SeekableStreamEncoderTellCallback value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_write_callback (OggFLAC__SeekableStreamEncoder *encoder, OggFLAC__SeekableStreamEncoderWriteCallback value)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_client_data (OggFLAC__SeekableStreamEncoder *encoder, void *value)
OggFLAC_API OggFLAC__SeekableStreamEncoderState OggFLAC__seekable_stream_encoder_get_state (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__StreamEncoderState OggFLAC__seekable_stream_encoder_get_FLAC_stream_encoder_state (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__StreamDecoderState OggFLAC__seekable_stream_encoder_get_verify_decoder_state (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API const char * OggFLAC__seekable_stream_encoder_get_resolved_state_string (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API void OggFLAC__seekable_stream_encoder_get_verify_decoder_error_stats (const OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_verify (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_streamable_subset (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_mid_side_stereo (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_loose_mid_side_stereo (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_channels (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_bits_per_sample (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_sample_rate (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_blocksize (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_max_lpc_order (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_qlp_coeff_precision (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_qlp_coeff_prec_search (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_escape_coding (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_exhaustive_model_search (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_min_residual_partition_order (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_max_residual_partition_order (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_rice_parameter_search_dist (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__uint64 OggFLAC__seekable_stream_encoder_get_total_samples_estimate (const OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API OggFLAC__SeekableStreamEncoderState OggFLAC__seekable_stream_encoder_init (OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API void OggFLAC__seekable_stream_encoder_finish (OggFLAC__SeekableStreamEncoder *encoder)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_process (OggFLAC__SeekableStreamEncoder *encoder, const FLAC__int32 *const buffer[], unsigned samples)
OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_process_interleaved (OggFLAC__SeekableStreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples)

Variables

OggFLAC_API const char *const OggFLAC__SeekableStreamEncoderStateString []
OggFLAC_API const char *const OggFLAC__SeekableStreamEncoderReadStatusString []

Detailed Description

This module contains the functions which implement the seekable stream encoder. The Ogg seekable stream encoder is derived from the FLAC seekable stream encoder.

The interface here is nearly identical to FLAC's seekable stream encoder, including the callbacks, with the addition of a new required read callback (needed when writing back STREAMINFO after encoding) and OggFLAC__seekable_stream_encoder_set_serial_number(). See the FLAC seekable stream encoder module for full documentation.


Typedef Documentation

typedef OggFLAC__SeekableStreamEncoderReadStatus(* OggFLAC__SeekableStreamEncoderReadCallback)(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
 

Signature for the read callback. See OggFLAC__seekable_stream_encoder_set_read_callback() for more info.

Parameters:
encoder  The encoder instance calling the callback.
buffer  A pointer to a location for the callee to store data to be encoded.
bytes  A pointer to the size of the buffer. On entry to the callback, it contains the maximum number of bytes that may be stored in buffer. The callee must set it to the actual number of bytes stored (0 in case of error or end-of-stream) before returning.
client_data  The callee's client data set through OggFLAC__seekable_stream_encoder_set_client_data().
Return values:
OggFLAC__SeekableStreamEncoderReadStatus  The callee's return status.

typedef FLAC__SeekableStreamEncoderSeekStatus(* OggFLAC__SeekableStreamEncoderSeekCallback)(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)
 

Signature for the seek callback. See OggFLAC__seekable_stream_encoder_set_seek_callback() and FLAC__SeekableStreamEncoderSeekCallback for more info.

Parameters:
encoder  The encoder instance calling the callback.
absolute_byte_offset  The offset from the beginning of the stream to seek to.
client_data  The callee's client data set through OggFLAC__seekable_stream_encoder_set_client_data().
Return values:
FLAC__SeekableStreamEncoderSeekStatus  The callee's return status.

typedef FLAC__SeekableStreamEncoderTellStatus(* OggFLAC__SeekableStreamEncoderTellCallback)(const OggFLAC__SeekableStreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
 

Signature for the tell callback. See OggFLAC__seekable_stream_encoder_set_tell_callback() and FLAC__SeekableStreamEncoderTellCallback for more info.

Parameters:
encoder  The encoder instance calling the callback.
absolute_byte_offset  The address at which to store the current position of the output.
client_data  The callee's client data set through OggFLAC__seekable_stream_encoder_set_client_data().
Return values:
FLAC__SeekableStreamEncoderTellStatus  The callee's return status.

typedef FLAC__StreamEncoderWriteStatus(* OggFLAC__SeekableStreamEncoderWriteCallback)(const OggFLAC__SeekableStreamEncoder *encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data)
 

Signature for the write callback. See OggFLAC__seekable_stream_encoder_set_write_callback() and FLAC__SeekableStreamEncoderWriteCallback for more info.

Parameters:
encoder  The encoder instance calling the callback.
buffer  An array of encoded data of length bytes.
bytes  The byte length of buffer.
samples  The number of samples encoded by buffer. 0 has a special meaning; see OggFLAC__seekable_stream_encoder_set_write_callback().
current_frame  The number of current frame being encoded.
client_data  The callee's client data set through OggFLAC__seekable_stream_encoder_set_client_data().
Return values:
FLAC__StreamEncoderWriteStatus  The callee's return status.


Enumeration Type Documentation

enum OggFLAC__SeekableStreamEncoderState
 

State values for an OggFLAC__SeekableStreamEncoder

The encoder's state can be obtained by calling OggFLAC__stream_encoder_get_state().

Enumeration values:
OggFLAC__SEEKABLE_STREAM_ENCODER_OK  The encoder is in the normal OK state.
OggFLAC__SEEKABLE_STREAM_ENCODER_OGG_ERROR  An error occurred in the underlying Ogg layer.
OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR  An error occurred in the underlying FLAC stream encoder; check OggFLAC__seekable_stream_encoder_get_FLAC_stream_encoder_state().
OggFLAC__SEEKABLE_STREAM_ENCODER_MEMORY_ALLOCATION_ERROR  Memory allocation failed.
OggFLAC__SEEKABLE_STREAM_ENCODER_WRITE_ERROR  The write callback returned an error.
OggFLAC__SEEKABLE_STREAM_ENCODER_READ_ERROR  The read callback returned an error.
OggFLAC__SEEKABLE_STREAM_ENCODER_SEEK_ERROR  The seek callback returned an error.
OggFLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR  The tell callback returned an error.
OggFLAC__SEEKABLE_STREAM_ENCODER_ALREADY_INITIALIZED  OggFLAC__seekable_stream_encoder_init() was called when the encoder was already initialized, usually because OggFLAC__seekable_stream_encoder_finish() was not called.
OggFLAC__SEEKABLE_STREAM_ENCODER_INVALID_CALLBACK  OggFLAC__seekable_stream_encoder_init() was called without all callbacks being set.
OggFLAC__SEEKABLE_STREAM_ENCODER_INVALID_SEEKTABLE  An invalid seek table was passed is the metadata to OggFLAC__seekable_stream_encoder_set_metadata().
OggFLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED  The encoder is in the uninitialized state.

enum OggFLAC__SeekableStreamEncoderReadStatus
 

Return values for the OggFLAC__SeekableStreamEncoder read callback.

Enumeration values:
OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_CONTINUE  The read was OK and decoding can continue.
OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_END_OF_STREAM  The read was attempted at the end of the stream.
OggFLAC__SEEKABLE_STREAM_ENCODER_READ_STATUS_ABORT  An unrecoverable error occurred.


Function Documentation

OggFLAC_API OggFLAC__SeekableStreamEncoder* OggFLAC__seekable_stream_encoder_new  
 

Create a new seekable stream encoder instance. The instance is created with default settings; see the individual OggFLAC__seekable_stream_encoder_set_*() functions for each setting's default.

Return values:
OggFLAC__SeekableStreamEncoder  * NULL if there was an error allocating memory, else the new instance.

OggFLAC_API void OggFLAC__seekable_stream_encoder_delete OggFLAC__SeekableStreamEncoder   encoder
 

Free an encoder instance. Deletes the object pointed to by encoder.

Parameters:
encoder  A pointer to an existing encoder.
Assertions:
encoder != NULL 

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_serial_number OggFLAC__SeekableStreamEncoder   encoder,
long    serial_number
 

Set the serial number for the FLAC stream.

Default Value:
0
Parameters:
encoder  An encoder instance to set.
serial_number  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_verify OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_verify()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  Flag value (see above).
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_streamable_subset OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_streamable_subset()

Default Value:
true
Parameters:
encoder  An encoder instance to set.
value  Flag value (see above).
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_mid_side_stereo OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_do_mid_side_stereo()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  Flag value (see above).
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_loose_mid_side_stereo OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_loose_mid_side_stereo()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  Flag value (see above).
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_channels OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_channels()

Default Value:
2
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_bits_per_sample OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_bits_per_sample()

Default Value:
16
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_sample_rate OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_sample_rate()

Default Value:
44100
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_blocksize OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_blocksize()

Default Value:
1152
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_max_lpc_order OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_max_lpc_order()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_qlp_coeff_precision OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_qlp_coeff_precision()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_qlp_coeff_prec_search()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_escape_coding OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_do_escape_coding()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_do_exhaustive_model_search OggFLAC__SeekableStreamEncoder   encoder,
FLAC__bool    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_do_exhaustive_model_search()

Default Value:
false
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_min_residual_partition_order OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_min_residual_partition_order()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_max_residual_partition_order OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_max_residual_partition_order()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_rice_parameter_search_dist OggFLAC__SeekableStreamEncoder   encoder,
unsigned    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_rice_parameter_search_dist()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_total_samples_estimate OggFLAC__SeekableStreamEncoder   encoder,
FLAC__uint64    value
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_total_samples_estimate()

Default Value:
0
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_metadata OggFLAC__SeekableStreamEncoder   encoder,
FLAC__StreamMetadata **    metadata,
unsigned    num_blocks
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_metadata()

Note:
The Ogg FLAC mapping requires that the VORBIS_COMMENT block be the second metadata block of the stream. The encoder already supplies the STREAMINFO block automatically. If metadata does not contain a VORBIS_COMMENT block, the encoder will supply that too. Otherwise, if metadata does contain a VORBIS_COMMENT block and it is not the first, this function will reorder metadata by moving the VORBIS_COMMENT block to the front; the relative ordering of the other blocks will remain as they were.
Note:
The Ogg FLAC mapping limits the number of metadata blocks per stream to 65535. If num_blocks exceeds this the function will return false.
Default Value:
NULL, 0
Parameters:
encoder  An encoder instance to set.
metadata  See above.
num_blocks  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, or if num_blocks > 65535, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_read_callback OggFLAC__SeekableStreamEncoder   encoder,
OggFLAC__SeekableStreamEncoderReadCallback    value
 

Set the read callback. The supplied function will be called when the encoder needs to read back encoded data. This happens during the metadata callback, when the encoder has to read, modify, and rewrite the metadata (e.g. seekpoints) gathered while encoding. The address of the buffer to be filled is supplied, along with the number of bytes the buffer can hold. The callback may choose to supply less data and modify the byte count but must be careful not to overflow the buffer. The callback then returns a status code chosen from OggFLAC__SeekableStreamEncoderReadStatus.

Note:
The callback is mandatory and must be set before initialization.
Default Value:
NULL
Parameters:
encoder  A encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
value != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_seek_callback OggFLAC__SeekableStreamEncoder   encoder,
OggFLAC__SeekableStreamEncoderSeekCallback    value
 

Set the seek callback. The supplied function will be called when the encoder needs to seek the output stream. The encoder will pass the absolute byte offset to seek to, 0 meaning the beginning of the stream.

Note:
The callback is mandatory and must be set before initialization.
Default Value:
NULL
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
value != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_tell_callback OggFLAC__SeekableStreamEncoder   encoder,
OggFLAC__SeekableStreamEncoderTellCallback    value
 

Set the tell callback. The supplied function will be called when the encoder needs to know the current position of the output stream.

Note:
The callback is mandatory and must be set before initialization.
Default Value:
NULL
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
value != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_write_callback OggFLAC__SeekableStreamEncoder   encoder,
OggFLAC__SeekableStreamEncoderWriteCallback    value
 

Set the write callback. This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_set_write_callback().

Note:
Unlike the FLAC seekable stream encoder write callback, the Ogg seekable stream encoder write callback will be called twice when writing audio frames; once for the page header, and once for the page body. When writing the page header, the samples argument to the write callback will be 0.
Note:
The callback is mandatory and must be set before initialization.
Default Value:
NULL
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
value != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_set_client_data OggFLAC__SeekableStreamEncoder   encoder,
void *    value
 

Set the client data to be passed back to callbacks. This value will be supplied to callbacks in their client_data argument.

Default Value:
NULL
Parameters:
encoder  An encoder instance to set.
value  See above.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  false if the encoder is already initialized, else true.

OggFLAC_API OggFLAC__SeekableStreamEncoderState OggFLAC__seekable_stream_encoder_get_state const OggFLAC__SeekableStreamEncoder   encoder
 

Get the current encoder state.

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
OggFLAC__SeekableStreamEncoderState  The current encoder state.

OggFLAC_API FLAC__StreamEncoderState OggFLAC__seekable_stream_encoder_get_FLAC_stream_encoder_state const OggFLAC__SeekableStreamEncoder   encoder
 

Get the state of the underlying FLAC stream encoder. Useful when the seekable stream encoder state is OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR.

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__StreamEncoderState  The FLAC stream encoder state.

OggFLAC_API FLAC__StreamDecoderState OggFLAC__seekable_stream_encoder_get_verify_decoder_state const OggFLAC__SeekableStreamEncoder   encoder
 

Get the state of the underlying FLAC encoder's verify decoder. Useful when the seekable stream encoder state is OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR and the FLAC stream encoder state is FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR.

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__StreamDecoderState  The FLAC verify decoder state.

OggFLAC_API const char* OggFLAC__seekable_stream_encoder_get_resolved_state_string const OggFLAC__SeekableStreamEncoder   encoder
 

Get the current encoder state as a C string. This version automatically resolves OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR by getting the FLAC stream encoder's resolved state.

Parameters:
encoder  A encoder instance to query.
Assertions:
encoder != NULL 
Return values:
const  char * The encoder state as a C string. Do not modify the contents.

OggFLAC_API void OggFLAC__seekable_stream_encoder_get_verify_decoder_error_stats const OggFLAC__SeekableStreamEncoder   encoder,
FLAC__uint64 *    absolute_sample,
unsigned *    frame_number,
unsigned *    channel,
unsigned *    sample,
FLAC__int32 *    expected,
FLAC__int32 *    got
 

Get relevant values about the nature of a verify decoder error. Inherited from FLAC__stream_encoder_get_verify_decoder_error_stats(). Useful when the seekable stream encoder state is OggFLAC__SEEKABLE_STREAM_ENCODER_FLAC_STREAM_ENCODER_ERROR and the FLAC stream encoder state is FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR.

Parameters:
encoder  An encoder instance to query.
absolute_sample  The absolute sample number of the mismatch.
frame_number  The number of the frame in which the mismatch occurred.
channel  The channel in which the mismatch occurred.
sample  The number of the sample (relative to the frame) in which the mismatch occurred.
expected  The expected value for the sample in question.
got  The actual value returned by the decoder.
Assertions:
encoder != NULL 
absolute_sample != NULL 
frame_number != NULL 
channel != NULL 
sample != NULL 
expected != NULL 

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_verify const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_verify()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_verify().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_streamable_subset const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_streamable_subset()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_streamable_subset().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_mid_side_stereo const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_do_mid_side_stereo()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_get_do_mid_side_stereo().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_loose_mid_side_stereo const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_loose_mid_side_stereo()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_loose_mid_side_stereo().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_channels const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_channels()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_channels().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_bits_per_sample const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_bits_per_sample()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_bits_per_sample().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_sample_rate const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_sample_rate()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_sample_rate().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_blocksize const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_blocksize()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_blocksize().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_max_lpc_order const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_max_lpc_order()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_max_lpc_order().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_qlp_coeff_precision const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_qlp_coeff_precision()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_qlp_coeff_precision().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_qlp_coeff_prec_search const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_do_qlp_coeff_prec_search()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_escape_coding const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_do_escape_coding()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_do_escape_coding().

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_get_do_exhaustive_model_search const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_do_exhaustive_model_search()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  See OggFLAC__seekable_stream_encoder_set_do_exhaustive_model_search().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_min_residual_partition_order const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_min_residual_partition_order()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_min_residual_partition_order().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_max_residual_partition_order const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_man_residual_partition_order()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_max_residual_partition_order().

OggFLAC_API unsigned OggFLAC__seekable_stream_encoder_get_rice_parameter_search_dist const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_rice_parameter_search_dist()

Parameters:
encoder  An encoder instance to query.
Assertions:
encoder != NULL 
Return values:
unsigned  See OggFLAC__seekable_stream_encoder_set_rice_parameter_search_dist().

OggFLAC_API FLAC__uint64 OggFLAC__seekable_stream_encoder_get_total_samples_estimate const OggFLAC__SeekableStreamEncoder   encoder
 

This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_get_total_samples_estimate()

Parameters:
encoder  An encoder instance to set.
Assertions:
encoder != NULL 
Return values:
FLAC__uint64  See OggFLAC__seekable_stream_encoder_get_total_samples_estimate().

OggFLAC_API OggFLAC__SeekableStreamEncoderState OggFLAC__seekable_stream_encoder_init OggFLAC__SeekableStreamEncoder   encoder
 

Initialize the encoder instance. Should be called after OggFLAC__seekable_stream_encoder_new() and OggFLAC__seekable_stream_encoder_set_*() but before OggFLAC__seekable_stream_encoder_process() or OggFLAC__seekable_stream_encoder_process_interleaved(). Will set and return the encoder state, which will be OggFLAC__SEEKABLE_STREAM_ENCODER_OK if initialization succeeded.

The call to OggFLAC__seekable_stream_encoder_init() currently will also immediately call the write callback several times, once with the fLaC signature, and once for each encoded metadata block.

Parameters:
encoder  An uninitialized encoder instance.
Assertions:
encoder != NULL 
Return values:
OggFLAC__SeekableStreamEncoderState  OggFLAC__SEEKABLE_STREAM_ENCODER_OK if initialization was successful; see OggFLAC__SeekableStreamEncoderState for the meanings of other return values.

OggFLAC_API void OggFLAC__seekable_stream_encoder_finish OggFLAC__SeekableStreamEncoder   encoder
 

Finish the encoding process. Flushes the encoding buffer, releases resources, resets the encoder settings to their defaults, and returns the encoder state to OggFLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED. Note that this can generate one or more write callbacks before returning.

In the event of a prematurely-terminated encode, it is not strictly necessary to call this immediately before OggFLAC__seekable_stream_encoder_delete() but it is good practice to match every OggFLAC__seekable_stream_encoder_init() with an OggFLAC__seekable_stream_encoder_finish().

Parameters:
encoder  An uninitialized encoder instance.
Assertions:
encoder != NULL 

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_process OggFLAC__SeekableStreamEncoder   encoder,
const FLAC__int32 *const    buffer[],
unsigned    samples
 

Submit data for encoding. This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_process().

Parameters:
encoder  An initialized encoder instance in the OK state.
buffer  An array of pointers to each channel's signal.
samples  The number of samples in one channel.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  true if successful, else false; in this case, check the encoder state with OggFLAC__seekable_stream_encoder_get_state() to see what went wrong.

OggFLAC_API FLAC__bool OggFLAC__seekable_stream_encoder_process_interleaved OggFLAC__SeekableStreamEncoder   encoder,
const FLAC__int32    buffer[],
unsigned    samples
 

Submit data for encoding. This is inherited from FLAC__StreamEncoder; see FLAC__stream_encoder_process_interleaved().

Parameters:
encoder  An initialized encoder instance in the OK state.
buffer  An array of channel-interleaved data (see above).
samples  The number of samples in one channel, the same as for OggFLAC__seekable_stream_encoder_process(). For example, if encoding two channels, 1000 samples corresponds to a buffer of 2000 values.
Assertions:
encoder != NULL 
Return values:
FLAC__bool  true if successful, else false; in this case, check the encoder state with OggFLAC__seekable_stream_encoder_get_state() to see what went wrong.


Variable Documentation

OggFLAC_API const char* const OggFLAC__SeekableStreamEncoderStateString[]
 

Maps an OggFLAC__StreamEncoderState to a C string.

Using an OggFLAC__StreamEncoderState as the index to this array will give the string equivalent. The contents should not be modified.

OggFLAC_API const char* const OggFLAC__SeekableStreamEncoderReadStatusString[]
 

Maps a OggFLAC__SeekableStreamEncoderReadStatus to a C string.

Using a OggFLAC__SeekableStreamEncoderReadStatus as the index to this array will give the string equivalent. The contents should not be modified.


Generated on Fri Feb 4 18:39:19 2005 for FLAC by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002