OpenTok C SDK
|
#include <publisher.h>
Publisher callback functions.
This structure is a set of function pointers to callback functions that can be called in response to events related to an OpenTok publisher.
All callbacks will not be made on the application or main thread but on an internal thread. The application should return the callback as quickly as possible to avoid blocking the internal thread.
Data passed into a callback function (other than publisher
and user_data
) will be released after the callback is called. Make a copy of the data if you need to retain it.
void(* on_audio_level_updated) (otc_publisher *publisher, void *user_data, float audio_level) |
Called periodically to report the audio level of the publisher.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
audio_level | The audio level value, from 0 to 1.0. |
void(* on_audio_stats) (otc_publisher *publisher, void *user_data, struct otc_publisher_audio_stats audio_stats[], size_t number_of_stats) |
Called periodically to report audio statistics for the publisher.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
audio_stats | An array of publisher audio stats. |
number_of_stats | The number of audio stats in the array. |
void(* on_error) (otc_publisher *publisher, void *user_data, const char *error_string, enum otc_publisher_error_code error_code) |
Called when the publisher fails.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
error_string | A string containing the error message. |
error_code | An error code enum value. |
void(* on_publisher_mute_forced) (otc_publisher *publisher, void *user_data) |
Called when a moderator has forced this publisher to mute audio.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
void(* on_render_frame) (otc_publisher *publisher, void *user_data, const otc_video_frame *frame) |
Called when there is a new frame ready to be rendered by the publisher.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
frame | A pointer to the new video frame. |
void(* on_stream_created) (otc_publisher *publisher, void *user_data, const otc_stream *stream) |
Called when the publisher's stream is created.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
stream | A pointer to the stream. |
void(* on_stream_destroyed) (otc_publisher *publisher, void *user_data, const otc_stream *stream) |
Called when the publisher's stream is destroyed.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
stream | A pointer to the stream. |
void(* on_video_disable_warning) (otc_publisher *publisher, void *user_data) |
Called when the publisher determines that the network congestion level has degraded and the video will be disabled if the quality degrades further.
publisher | The instance invoking this call. |
user_data | Pointer to user custom data bound to this struct. |
void(* on_video_disable_warning_lifted) (otc_publisher *publisher, void *user_data) |
Called when the publisher determines that the network congestion level has improved to the point at which the video being disabled is not an immediate risk.
publisher | The instance invoking this call. |
user_data | Pointer to user custom data bound to this struct. |
void(* on_video_disabled) (otc_publisher *publisher, void *user_data, enum otc_video_reason reason) |
Called when the publisher's video is disabled.
publisher | The instance invoking this call. |
user_data | Pointer to user custom data bound to this struct. |
reason | Gives more details about why the video has been disabled. |
void(* on_video_enabled) (otc_publisher *publisher, void *user_data, enum otc_video_reason reason) |
Called when the publisher's video is enabled.
publisher | The instance invoking this call. |
user_data | Pointer to user custom data bound to this struct. |
reason | Gives more details about why the video has been enabled. |
void(* on_video_stats) (otc_publisher *publisher, void *user_data, struct otc_publisher_video_stats video_stats[], size_t number_of_stats) |
Called periodically to report video statistics for the publisher.
publisher | A pointer to the publisher. |
user_data | A pointer to the user_data you set for the publisher. |
video_stats | An array of publisher video stats. |
number_of_stats | The number of video stats in the array. |
void* reserved |
A void pointer to a memory area holding reserved resources used for the internal implementation.
void* user_data |
A pointer to data you set related to the publisher.