libivon 0.1.0
Voice-over-IP library
Loading...
Searching...
No Matches
ivon_voice_session_types.h File Reference

Classes

struct  ivon_voice_session_speaking_info
 Speaking state change with client ID mapping. More...
 

Typedefs

typedef struct ivon_voice_session * ivon_voice_session_t
 C ABI types for the libivon voice session helper.
 
typedef struct ivon_voice_session_config * ivon_voice_session_config_t
 Opaque voice session configuration handle.
 
typedef struct ivon_voice_session_speaking_info ivon_voice_session_speaking_info_t
 Speaking state change with client ID mapping.
 
typedef void(* ivon_voice_session_voice_joined_fn) (const char *group_id, int success, const char *error_message, void *user_data)
 Called when the voice group join completes.
 
typedef void(* ivon_voice_session_speaking_fn) (const ivon_voice_session_speaking_info_t *info, void *user_data)
 Called when a remote sender starts or stops speaking.
 
typedef void(* ivon_voice_session_voice_error_fn) (const char *group_id, const char *error_message, void *user_data)
 Called on a voice group runtime error (e.g. fanout socket lost).
 
typedef void(* ivon_voice_session_member_joined_fn) (const char *group_id, uint64_t sender_id, const char *client_id, void *user_data)
 Called when a member joins the voice group.
 
typedef void(* ivon_voice_session_member_left_fn) (const char *group_id, uint64_t sender_id, const char *client_id, void *user_data)
 Called when a member leaves the voice group.
 

Typedef Documentation

◆ ivon_voice_session_config_t

typedef struct ivon_voice_session_config* ivon_voice_session_config_t

Opaque voice session configuration handle.

Create with ivon_voice_session_config_create(), set sub-configs with ivon_voice_session_config_set_*(), pass to ivon_voice_session_create(), then destroy with ivon_voice_session_config_destroy().

◆ ivon_voice_session_member_joined_fn

typedef void(* ivon_voice_session_member_joined_fn) (const char *group_id, uint64_t sender_id, const char *client_id, void *user_data)

Called when a member joins the voice group.

◆ ivon_voice_session_member_left_fn

typedef void(* ivon_voice_session_member_left_fn) (const char *group_id, uint64_t sender_id, const char *client_id, void *user_data)

Called when a member leaves the voice group.

◆ ivon_voice_session_speaking_fn

typedef void(* ivon_voice_session_speaking_fn) (const ivon_voice_session_speaking_info_t *info, void *user_data)

Called when a remote sender starts or stops speaking.

Includes the client_id mapping if the sender is a known group member.

◆ ivon_voice_session_speaking_info_t

Speaking state change with client ID mapping.

Extends the audio layer's speaking event with the human-readable client ID if the sender is a known group member.

◆ ivon_voice_session_t

typedef struct ivon_voice_session* ivon_voice_session_t

C ABI types for the libivon voice session helper.

Author
Cliff Foster (Nou) cliff.nosp@m.@idi.nosp@m.-syst.nosp@m.ems..nosp@m.com

Pure C header — no C++ dependencies. Defines the opaque handle, configuration structure, and callback function-pointer typedefs used by ivon_voice_session.h.

The voice session bundles a client and audio processor into a single object with automatic zero-copy wiring between them:

  • Received fanout data is routed directly to the audio decoder
  • Encoded audio is drained and sent via the client's fanout path
  • Group membership events automatically register/unregister senders

Opaque handle to a voice session instance.

◆ ivon_voice_session_voice_error_fn

typedef void(* ivon_voice_session_voice_error_fn) (const char *group_id, const char *error_message, void *user_data)

Called on a voice group runtime error (e.g. fanout socket lost).

◆ ivon_voice_session_voice_joined_fn

typedef void(* ivon_voice_session_voice_joined_fn) (const char *group_id, int success, const char *error_message, void *user_data)

Called when the voice group join completes.

Parameters
group_idGroup ID that was joined (or failed to join).
successNon-zero if the join succeeded.
error_messageHuman-readable error on failure, NULL on success.
user_dataUser-provided context.