#include <subscriber.h>

データフィールド
void(* on_connected )(otc_加入者 *subscriber, void *ユーザーデータ, const otc_stream *ストリーム)
void(* on_disconnected )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_reconnected )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_render_frame )(otc_加入者 *subscriber, void *ユーザーデータ, const otc_video_frame *フレーム)
void(* on_video_disabled )(otc_加入者 *subscriber, void *ユーザーデータ, enum otc_video_reason 理由)
void(* on_video_enabled )(otc_加入者 *subscriber, void *ユーザーデータ, enum otc_video_reason 理由)
void(* on_audio_disabled )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_audio_enabled )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_video_data_received )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_video_disable_warning )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_caption_text )(otc_加入者 *subscriber, void *ユーザーデータ, const char *text, otc_bool is_final)
void(* on_video_disable_warning_lifted )(otc_加入者 *subscriber, void *ユーザーデータ)
void(* on_audio_stats )(otc_加入者 *subscriber, void *ユーザーデータ, struct otc_加入者_音声_統計 (audio_stats)
void(* on_video_stats )(otc_加入者 *subscriber, void *ユーザーデータ, struct otc_加入者動画統計 video_stats)
void(* on_audio_level_updated )(otc_加入者 *subscriber, void *ユーザーデータ, float audio_level)
void(* on_error )(otc_加入者 *subscriber, void *ユーザーデータ, const char *error_string, enum otc_加入者_エラーコード (エラー)
void(* on_audio_data )(otc_加入者 *subscriber, void *ユーザーデータ, const struct otc_audio_data *audio_data)
void * ユーザーデータ
void * 予約済み

詳細な説明

サブスクライバーのコールバック関数。

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

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

現場記録

on_audio_data

void(* on_audio_data) (otc_加入者 *subscriber, void *ユーザーデータ, const struct otc_audio_data *audio_data)

加入者のオーディオデータを報告するために定期的に呼び出されます。受信したオーディオのプロパティは動的に変化する場合があります。こうした変化の原因としては、オーディオコーデックのネゴシエーションやネットワーク状況などが挙げられます。オーディオデータの利用者は、実装されたユースケース(例:オーディオのリサンプリング)に応じて、これらの変化に対処する責任があります。

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

on_audio_disabled

void(* on_audio_disabled) (otc_加入者 *subscriber, void *ユーザーデータ)

サブスクライバーのオーディオが無効になったときに呼び出されます。

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

on_audio_enabled

void(* on_audio_enabled) (otc_加入者 *subscriber, void *ユーザーデータ)

加入者の音声が有効になったときに呼び出されます。

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

on_audio_level_updated

void(* on_audio_level_updated) (otc_加入者 *subscriber, void *ユーザーデータ, float audio_level)

加入者の音声レベルを報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | audio_level | オーディオレベルの値(0 から 1.0 まで)。 |

on_audio_stats

void(* on_audio_stats) (otc_加入者 *subscriber, void *ユーザーデータ, struct otc_加入者_音声_統計 (audio_stats)

加入者の音声統計情報を報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | audio_stats | オーディオ統計構造体へのポインタ。 |

on_caption_text

void(* on_caption_text) (otc_加入者 *subscriber, void *ユーザーデータ, const char *text, otc_bool is_final)

加入者のストリームのキャプションテキストが利用可能になったときに呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | サブスクライバーインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | text | キャプションテキストへのポインタ。 | | is_final | キャプションが完了しているかどうかを示します。 |

on_connected

void(* on_connected) (otc_加入者 *subscriber, void *ユーザーデータ, const otc_stream *ストリーム)

インスタンスがストリームへの接続に成功し、メディアの再生を開始したときに呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザー定義データへのポインタ。 | | stream | サブスクライバーのストリーム。このインスタンスは、コールバック関数の実行が終了すると破棄されます。後でこのインスタンスを使用する場合は、必ずコピーを作成してください。 |

on_disconnected

void(* on_disconnected) (otc_加入者 *subscriber, void *ユーザーデータ)

加入者のストリームが中断されたときに呼び出されます。

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

on_error

void(* on_error) (otc_加入者 *subscriber, void *ユーザーデータ, const char *error_string, enum otc_加入者_エラーコード (エラー)

加入者に障害が発生した際に呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | error_string | エラーメッセージを含む文字列。 | | error | エラーコードの列挙型値。 |

on_reconnected

void(* on_reconnected) (otc_加入者 *subscriber, void *ユーザーデータ)

加入者のストリームが再開されたときに呼び出されます。

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

on_render_frame

void(* on_render_frame) (otc_加入者 *subscriber, void *ユーザーデータ, const otc_video_frame *フレーム)

加入者向けの新しいビデオフレームがレンダリング可能な状態になったときに呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | frame | ビデオフレーム。 |

on_video_data_received

void(* on_video_data_received) (otc_加入者 *subscriber, void *ユーザーデータ)

加入者が初めて動画データを受信した際に呼び出されます。

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

on_video_disable_warning

void(* on_video_disable_warning) (otc_加入者 *subscriber, void *ユーザーデータ)

OpenTok Media Router がストリームの品質が低下したと判断し、さらに品質が低下した場合に動画が停止されることになる場合に呼び出されます。

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

on_video_disable_warning_lifted

void(* on_video_disable_warning_lifted) (otc_加入者 *subscriber, void *ユーザーデータ)

OpenTok Media Router が、ストリームの品質が改善し、無効化される動画が直ちにリスクをもたらさない状態になったと判断した際に呼び出されます。

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

on_video_disabled

void(* on_video_disabled) (otc_加入者 *subscriber, void *ユーザーデータ, enum otc_video_reason 理由)

加入者の動画が無効化されたときに呼び出されます。

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

on_video_enabled

void(* on_video_enabled) (otc_加入者 *subscriber, void *ユーザーデータ, enum otc_video_reason 理由)

加入者の動画機能が有効になったときに呼び出されます。

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

on_video_stats

void(* on_video_stats) (otc_加入者 *subscriber, void *ユーザーデータ, struct otc_加入者動画統計 video_stats)

加入者の動画統計情報を報告するために、定期的に呼び出されます。

パラメータ : | | | | --- | --- | | subscriber | この呼び出しを実行するインスタンス。 | | user_data | この構造体にバインドされたユーザーカスタムデータへのポインタ。 | | video_stats | 動画統計構造体へのポインタ。 |

予約済み

void* reserved

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

ユーザーデータ

void* user_data

この構造体のメンバは、開発者が必要とする可能性のある、サブスクライバーに関連するデータを指すことができます。