182 int out_num_samples);
struct OpusDecoder OpusDecoder
struct OpusEncoder OpusEncoder
opus_codec_t * opus_codec_create_decoder(int sample_rate)
Create an Opus decoder.
asciichat_error_t opus_codec_set_bitrate(opus_codec_t *codec, int bitrate)
Set encoder bitrate.
struct OpusDecoder OpusDecoder
opus_application_t
Application mode for opus encoder.
int opus_codec_decode(opus_codec_t *codec, const uint8_t *data, size_t data_len, float *out_samples, int out_num_samples)
Decode Opus audio frame.
opus_codec_t * opus_codec_create_encoder(opus_application_t application, int sample_rate, int bitrate)
Create an Opus encoder.
int opus_codec_get_bitrate(opus_codec_t *codec)
Get current encoder bitrate.
asciichat_error_t opus_codec_set_dtx(opus_codec_t *codec, int enable)
Enable/disable DTX (Discontinuous Transmission)
void opus_codec_destroy(opus_codec_t *codec)
Destroy an Opus codec instance.
size_t opus_codec_encode(opus_codec_t *codec, const float *samples, int num_samples, uint8_t *out_data, size_t out_size)
Encode audio frame with Opus.
struct OpusEncoder OpusEncoder
@ OPUS_APPLICATION_AUDIO
General audio (optimized for music)
@ OPUS_APPLICATION_RESTRICTED_LOWDELAY
Low-latency mode.
@ OPUS_APPLICATION_VOIP
Voice over IP (optimized for speech)
asciichat_error_t
Error and exit codes - unified status values (0-255)
Opus codec context for encoding or decoding.
uint8_t * tmp_buffer
Temporary buffer for internal use.
int bitrate
Bitrate in bits per second (encoder only)
int sample_rate
Sample rate in Hz (e.g., 44100)
OpusEncoder * encoder
Encoder state (NULL if decoder)
OpusDecoder * decoder
Decoder state (NULL if encoder)