#include <publisher.h>

データフィールド
void(* on_stream_created )(otc_publisher *publisher, void *ユーザーデータ, const otc_stream *ストリーム)
void(* on_stream_destroyed )(otc_publisher *publisher, void *ユーザーデータ, const otc_stream *ストリーム)
void(* on_render_frame )(otc_publisher *publisher, void *ユーザーデータ, const otc_video_frame *フレーム)
void(* on_audio_level_updated )(otc_publisher *publisher, void *ユーザーデータ, float audio_level)
void(* on_publisher_mute_forced )(otc_publisher *publisher, void *ユーザーデータ)
void(* on_audio_stats )(otc_publisher *publisher, void *ユーザーデータ, struct OTC_PUBLISHER_AUDIO_STATS audio_stats[], size_t number_of_stats)
void(* on_video_stats )(otc_publisher *publisher, void *ユーザーデータ, struct OTC_PUBLISHER_VIDEO_STATS video_stats[], size_t number_of_stats)
void(* on_error )(otc_publisher *publisher, void *ユーザーデータ, const char *error_string, enum otc_publisher_error_code error_code)
void(* on_video_disabled )(otc_publisher *publisher, void *ユーザーデータ, enum otc_video_reason 理由)
void(* on_video_enabled )(otc_publisher *publisher, void *ユーザーデータ, enum otc_video_reason 理由)
void(* on_video_disable_warning )(otc_publisher *publisher, void *ユーザーデータ)
void(* on_video_disable_warning_lifted )(otc_publisher *publisher, void *ユーザーデータ)
void * ユーザーデータ
void * 予約済み

詳細な説明

パブリッシャーのコールバック関数。

この構造体は、OpenTokパブリッシャーに関連するイベントが発生した際に呼び出されるコールバック関数への関数ポインタの集合です。

すべてのコールバックは、アプリケーションやメインスレッド上ではなく、内部スレッド上で行われる。アプリケーションは、内部スレッドのブロックを避けるために、できるだけ早くコールバックを返すべきである。

コールバック関数に渡されるデータ( publisher そして user_data) は、コールバックが呼び出された後に解放されます。データを保持する必要がある場合は、データのコピーを作成してください。

現場記録

on_audio_level_updated

void(* on_audio_level_updated) (otc_publisher *publisher, void *ユーザーデータ, float audio_level)

パブリッシャーのオーディオレベルを報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | audio_level | オーディオレベルの値(0 から 1.0 まで)。 |

on_audio_stats

void(* on_audio_stats) (otc_publisher *publisher, void *ユーザーデータ, struct OTC_PUBLISHER_AUDIO_STATS audio_stats[], size_t number_of_stats)

パブリッシャーのオーディオ統計情報を報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに設定した user_data へのポインタ。 | | audio_stats | パブリッシャーのオーディオ統計情報の配列。 | | number_of_stats | 配列に含まれるオーディオ統計情報の数。 |

on_error

void(* on_error) (otc_publisher *publisher, void *ユーザーデータ, const char *error_string, enum otc_publisher_error_code error_code)

パブリッシャーの処理が失敗した際に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | error_string | エラーメッセージを含む文字列。 | | error_code | エラーコードの列挙型値。 |

on_publisher_mute_forced

void(* on_publisher_mute_forced) (otc_publisher *publisher, void *ユーザーデータ)

モデレーターがこのパブリッシャーの音声を強制的にミュートにした際に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 |

on_render_frame

void(* on_render_frame) (otc_publisher *publisher, void *ユーザーデータ, const otc_video_frame *フレーム)

パブリッシャーによってレンダリングされる準備が整った新しいフレームがある場合に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | frame | 新しいビデオフレームへのポインタ。 |

on_stream_created

void(* on_stream_created) (otc_publisher *publisher, void *ユーザーデータ, const otc_stream *ストリーム)

パブリッシャーのストリームが作成されたときに呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | stream | ストリームへのポインタ。 |

on_stream_destroyed

void(* on_stream_destroyed) (otc_publisher *publisher, void *ユーザーデータ, const otc_stream *ストリーム)

パブリッシャーのストリームが破棄されたときに呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | stream | ストリームへのポインタ。 |

on_video_disable_warning

void(* on_video_disable_warning) (otc_publisher *publisher, void *ユーザーデータ)

パブリッシャーがネットワークの輻輳レベルが悪化したと判断し、画質がさらに低下した場合に動画が停止されることになる場合に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザー定義データへのポインタ。 |

on_video_disable_warning_lifted

void(* on_video_disable_warning_lifted) (otc_publisher *publisher, void *ユーザーデータ)

パブリッシャーが、ネットワークの輻輳レベルが改善し、無効化される動画が直ちにリスクをもたらさない状態になったと判断した際に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザー定義データへのポインタ。 |

on_video_disabled

void(* on_video_disabled) (otc_publisher *publisher, void *ユーザーデータ, enum otc_video_reason 理由)

パブリッシャーの動画が無効になっている場合に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | reason | 動画が無効化された理由に関する詳細情報を示します。 |

on_video_enabled

void(* on_video_enabled) (otc_publisher *publisher, void *ユーザーデータ, enum otc_video_reason 理由)

パブリッシャーの動画が有効になっているときに呼び出されます。

パラメータ : | | | | --- | --- | | publisher | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | reason | 動画が有効化された理由に関する詳細情報を示します。 |

on_video_stats

void(* on_video_stats) (otc_publisher *publisher, void *ユーザーデータ, struct OTC_PUBLISHER_VIDEO_STATS video_stats[], size_t number_of_stats)

パブリッシャー向けの動画統計情報を報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | publisher | パブリッシャーへのポインタ。 | | user_data | パブリッシャーに対して設定した user_data へのポインタ。 | | video_stats | パブリッシャーの動画統計情報の配列。 | | number_of_stats | 配列に含まれる動画統計情報の数。 |

予約済み

void* reserved

内部実装に使用される、予約済みリソースが格納されているメモリ領域へのvoidポインタ。

ユーザーデータ

void* user_data

パブリッシャーに関連して設定したデータへのポインタ。