10 #include "capabilities.h" 18 #ifdef DOXYGEN_OTC_SESSION_TYPEDEF 24 #ifndef OTC_SESSION_FWD_DECL 25 #define OTC_SESSION_FWD_DECL 33 #define ENCRYPTION_SECRET_MINIMUM_LENGTH 8 34 #define ENCRYPTION_SECRET_MAXIMUM_LENGTH 256 386 const char* archive_id,
400 const char* archive_id);
414 const char* error_string,
469 const char* session_id,
531 const char* proxy_url);
590 const char* session_id,
749 const char** excluded_streams_ids,
750 const int excluded_streams_len);
803 const char *stream_id_to_mute);
903 const char* issue_description,
int otc_status
Definition: base.h:153
struct otc_publisher otc_publisher
Definition: publisher.h:29
char * otc_session_get_id(const otc_session *session)
otc_status otc_session_settings_set_custom_ice_config(otc_session_settings *settings, const struct otc_custom_ice_config *custom_ice_config)
void(* on_connected)(otc_session *session, void *user_data)
Definition: session.h:183
Definition: session.h:174
struct otc_subscriber otc_subscriber
Definition: subscriber.h:28
char ** ice_url
Definition: session.h:126
otc_status otc_session_settings_set_proxy_url(otc_session_settings *settings, const char *proxy_url)
void(* on_connection_dropped)(otc_session *session, void *user_data, const otc_connection *connection)
Definition: session.h:218
void(* on_signal_received)(otc_session *session, void *user_data, const char *type, const char *signal, const otc_connection *connection)
Definition: session.h:345
otc_session_error_code
Definition: session.h:40
void * user_data
Definition: session.h:436
otc_status otc_session_send_signal_to_connection(otc_session *session, const char *type, const char *signal, const otc_connection *connection)
otc_session_settings * otc_session_settings_new(void)
otc_status otc_session_settings_set_single_peer_connection(otc_session_settings *settings, otc_bool enable)
Enables or disables Single Peer Connection (SPC) for a session.
Definition: session.h:124
otc_status otc_session_disconnect(otc_session *session)
void(* on_stream_dropped)(otc_session *session, void *user_data, const otc_stream *stream)
Definition: session.h:246
otc_status otc_session_force_mute_all(otc_session *session, const char **excluded_streams_ids, const int excluded_streams_len)
otc_status otc_session_delete(otc_session *session)
struct otc_session otc_session
Definition: session.h:21
otc_status otc_session_connect(otc_session *session, const char *token)
otc_session * otc_session_new_with_settings(const char *apikey, const char *session_id, const struct otc_session_callbacks *callbacks, otc_session_settings *settings)
void(* on_connection_created)(otc_session *session, void *user_data, const otc_connection *connection)
Definition: session.h:204
otc_status otc_session_settings_delete(otc_session_settings *settings)
void * reserved
Definition: session.h:442
Definition: session.h:145
struct otc_stream otc_stream
Definition: stream.h:18
void(* on_disconnected)(otc_session *session, void *user_data)
Definition: session.h:192
void(* on_error)(otc_session *session, void *user_data, const char *error_string, enum otc_session_error_code error)
Definition: session.h:412
otc_bool force_turn
Definition: session.h:130
otc_status otc_session_settings_set_ip_whitelist(otc_session_settings *settings, otc_bool ip_whitelist)
void(* on_archive_started)(otc_session *session, void *user_data, const char *archive_id, const char *name)
Definition: session.h:384
Definition: session.h:106
void(* on_stream_video_type_changed)(otc_session *session, void *user_data, const otc_stream *stream, enum otc_stream_video_type type)
Definition: session.h:323
otc_status otc_session_disable_force_mute(otc_session *session)
void(* on_stream_received)(otc_session *session, void *user_data, const otc_stream *stream)
Definition: session.h:233
otc_stream_video_type
Definition: stream.h:24
otc_status otc_session_force_mute_stream(const otc_session *session, const char *stream_id_to_mute)
void(* on_reconnection_started)(otc_session *session, void *user_data)
Definition: session.h:359
struct otc_session_capabilities otc_session_get_capabilities(const otc_session *session)
struct otc_connection otc_connection
Definition: connection.h:19
otc_status otc_session_send_signal_with_options(otc_session *session, const char *type, const char *signal, struct otc_signal_options signal_options)
otc_status otc_session_subscribe(otc_session *session, otc_subscriber *subscriber)
struct otc_session_settings otc_session_settings
Definition: session.h:31
int otc_bool
Definition: base.h:127
void(* on_stream_has_audio_changed)(otc_session *session, void *user_data, const otc_stream *stream, otc_bool has_audio)
Definition: session.h:261
otc_status otc_session_set_encryption_secret(otc_session *session, const char *secret)
Sets the end-to-end encryption secret that will be used by all publishers and subscribers in the sess...
void(* on_reconnected)(otc_session *session, void *user_data)
Definition: session.h:369
otc_status otc_session_send_signal(otc_session *session, const char *type, const char *signal)
otc_session * otc_session_new(const char *apikey, const char *session_id, const struct otc_session_callbacks *callbacks)
otc_status otc_session_unsubscribe(otc_session *session, otc_subscriber *subscriber)
otc_bool retry_after_reconnect
Definition: session.h:158
otc_status otc_session_settings_set_connection_events_suppressed(otc_session_settings *settings, otc_bool suppress)
void(* on_archive_stopped)(otc_session *session, void *user_data, const char *archive_id)
Definition: session.h:398
char ** ice_credential
Definition: session.h:129
otc_connection * otc_session_get_connection(const otc_session *session)
int num_ice_servers
Definition: session.h:125
char ** ice_user
Definition: session.h:127
otc_bool use_custom_turn_only
Definition: session.h:134
otc_bool force_mute
Definition: session.h:111
otc_bool publish
Definition: session.h:107
void(* on_stream_has_video_changed)(otc_session *session, void *user_data, const otc_stream *stream, otc_bool has_video)
Definition: session.h:276
otc_status otc_session_publish(otc_session *session, otc_publisher *publisher)
void * otc_session_get_user_data(const otc_session *session)
otc_status otc_session_unpublish(otc_session *session, otc_publisher *publisher)
void(* on_stream_video_dimensions_changed)(otc_session *session, void *user_data, const otc_stream *stream, int width, int height)
Definition: session.h:308
void(* on_stream_has_captions_changed)(otc_session *session, void *user_data, const otc_stream *stream, otc_bool has_captions)
Definition: session.h:292
void(* on_mute_forced)(otc_session *session, void *user_data, otc_on_mute_forced_info *mute_info)
Definition: session.h:429
otc_bool subscribe
Definition: session.h:109
otc_status otc_session_report_issue(struct otc_session *session, const char *issue_description, char **issue_id)
otc_status otc_session_send_signal_to_connection_with_options(otc_session *session, const char *type, const char *signal, const otc_connection *connection, struct otc_signal_options signal_options)