Callback APIs
How to set the callback pointers.
Read time 2 minutesLast updated 20 hours ago
Vivox Core
Thevx_sdk_config_tvx_initialize3()// Called after audio is read from the capture device.// This is as close to the capture device as possible, but can still// have audio adjustments due to hardware echo cancellation and other// factors.// No blocking operations can occur on this callback.void(*pf_on_audio_unit_after_capture_audio_read)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri, short *pcm_frames, // frame buffer int pcm_frame_count, // number of frames in buffer int audio_frame_rate, // sample rate, can switch mid-stream int channels_per_frame // channels per frame);// Called when an audio processing unit is about to// send captured audio to the network from the audio processing// thread.// No blocking operation can occur on this callback.void(*pf_on_audio_unit_before_capture_audio_sent)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri, short *pcm_frames, // frame buffer int pcm_frame_count, // number of frames in buffer int audio_frame_rate, // sample rate, can switch mid-stream int channels_per_frame // channels per frame);// Called before an audio processing unit mixes the per-participant// audio data to a single stream from the audio processing thread.// No blocking operations can occur on this callback.void (*pf_on_audio_unit_before_recv_audio_mixed_t)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri, vx_before_recv_audio_mixed_participant_data_t *participants_data, size_t num_participants);// Called when an audio processing unit is about to write received// audio to the render device from the audio processing thread.// No blocking operations can occur on this callback.void(*pf_on_audio_unit_before_recv_audio_rendered)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri, short *pcm_frames, // frame buffer int pcm_frame_count, // number of frames in buffer int audio_frame_rate, // sample rate, can switch mid-stream int channels_per_frame, // channels per frame int is_silence // equals 0 if there is renderable audio data);// Called when an audio processing unit is started// from the audio processing thread.// No blocking operations can occur on this callback.void(*pf_on_audio_unit_started)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri);// Called when an audio processing unit is stopped// from the audio processing thread.// No blocking operations can occur on this callback.void(*pf_on_audio_unit_stopped)( void *callback_handle, const char *session_group_handle, const char *initial_target_uri);