20#define SKW_ROOM_SUBSCRIPTION_ID_SIZE (36+1)
char skw_room_member_id_t[SKW_ROOM_MEMBER_ID_SIZE]
MemberIDを格納する文字列型(NUL終端を含む)。
Definition member.h:60
Publicationのメタデータ更新・フレーム送信とイベントハンドラの登録。
char skw_room_publication_id_t[SKW_ROOM_PUBLICATION_ID_SIZE]
PublicationIDを格納する文字列型(NUL終端を含む)。
Definition publication.h:68
Subscriptionの取得結果を受け取る出力先。NULLを設定したフィールドには格納されない。
Definition subscription.h:53
skw_room_publication_id_t * publication_id
Subscribe対象のPublicationIDの格納先(不要ならNULL)
Definition subscription.h:55
skw_room_member_id_t * subscriber_id
SubscribeしたMemberのIDの格納先(不要ならNULL)
Definition subscription.h:56
skw_room_subscription_id_t * id
SubscriptionIDの格納先(不要ならNULL)
Definition subscription.h:54
Subscriptionの各イベント通知を受け取るハンドラ。不要なイベントのフィールドはNULLにできる。
Definition subscription.h:83
skw_room_subscription_on_video_frame_t on_video_frame
映像フレームの受信時
Definition subscription.h:85
skw_room_subscription_on_audio_frame_t on_audio_frame
音声フレームの受信時
Definition subscription.h:86
skw_room_subscription_on_data_t on_data
データの受信時
Definition subscription.h:84
skw_room_subscription_err_t
Subscription APIのエラーコード。
Definition subscription.h:23
@ SKW_ROOM_SUBSCRIPTION_ERR_MUTEX_UNLOCK_FAILED
Subscription APIのアンロックに失敗
Definition subscription.h:30
@ SKW_ROOM_SUBSCRIPTION_ERR_RESPONSE_TOO_LARGE
応答が受信バッファのサイズを超過した
Definition subscription.h:35
@ SKW_ROOM_SUBSCRIPTION_ERR_REQUEST_FAILED
リクエストの実行に失敗
Definition subscription.h:29
@ SKW_ROOM_SUBSCRIPTION_ERR_NOT_FOUND
リソースが見つからない
Definition subscription.h:41
@ SKW_ROOM_SUBSCRIPTION_ERR_SEND_FAILED
リクエストの送信に失敗
Definition subscription.h:32
@ SKW_ROOM_SUBSCRIPTION_ERR_CONTEXT_NOT_INITED
Contextが初期化されていない
Definition subscription.h:27
@ SKW_ROOM_SUBSCRIPTION_ERR_CONNECTION_CLOSED
応答待ちの間に接続が切断された
Definition subscription.h:34
@ SKW_ROOM_SUBSCRIPTION_ERR_UNKNOWN
不明なエラー
Definition subscription.h:37
@ SKW_ROOM_SUBSCRIPTION_ERR_BAD_REQUEST
リクエストパラメータが不正
Definition subscription.h:38
@ SKW_ROOM_SUBSCRIPTION_ERR_CALLED_IN_HANDLER
イベントハンドラ内から呼ばれた
Definition subscription.h:31
@ SKW_ROOM_SUBSCRIPTION_ERR_NULL_ARGS
引数がNULL
Definition subscription.h:25
@ SKW_ROOM_SUBSCRIPTION_ERR_SERVER_BUSY
サーバーが過負荷で一時的に利用できない
Definition subscription.h:46
@ SKW_ROOM_SUBSCRIPTION_ERR_TIMEOUT
応答の受信がタイムアウトした
Definition subscription.h:33
@ SKW_ROOM_SUBSCRIPTION_ERR_CONTEXT_NOT_SETUP
Contextがセットアップされていない
Definition subscription.h:28
@ SKW_ROOM_SUBSCRIPTION_OK
正常終了
Definition subscription.h:24
@ SKW_ROOM_SUBSCRIPTION_ERR_ALREADY_EXIST
すでに存在するリソースを作成しようとした
Definition subscription.h:42
@ SKW_ROOM_SUBSCRIPTION_ERR_SERVER_INTERNAL
サーバー内部エラー
Definition subscription.h:45
@ SKW_ROOM_SUBSCRIPTION_ERR_RESPONSE_PARSE_FAILED
応答の解析に失敗した
Definition subscription.h:36
@ SKW_ROOM_SUBSCRIPTION_ERR_TOO_LARGE
リクエストパラメータが大きすぎる
Definition subscription.h:43
@ SKW_ROOM_SUBSCRIPTION_ERR_INVALID_ARGS
引数の値が不正
Definition subscription.h:26
@ SKW_ROOM_SUBSCRIPTION_ERR_FORBIDDEN
必要な権限が無い
Definition subscription.h:40
@ SKW_ROOM_SUBSCRIPTION_ERR_TOO_MANY_REQUESTS
レートリミット超過
Definition subscription.h:44
@ SKW_ROOM_SUBSCRIPTION_ERR_UNAUTHORIZED
AuthTokenが不正、もしくは有効期限切れ
Definition subscription.h:39
skw_room_subscription_err_t skw_room_subscription_unregister_handlers(void)
登録済みのイベント通知ハンドラを解除します。
char skw_room_subscription_id_t[SKW_ROOM_SUBSCRIPTION_ID_SIZE]
SubscriptionIDを格納する文字列型(NUL終端を含む)。
Definition subscription.h:50
#define SKW_ROOM_SUBSCRIPTION_ID_SIZE
SubscriptionIDを格納するバッファのサイズ(NUL終端を含む)。
Definition subscription.h:20
void(* skw_room_subscription_on_data_t)(const char *subscription_id, const char *publication_id, const uint8_t *data, size_t length)
SubscribeしているStreamからデータを受信したときに呼ばれます。ハンドラ内からunsubscribe等の破棄を伴うAPIとsubscribeは呼び出せません。
Definition subscription.h:64
skw_room_subscription_err_t skw_room_subscription_register_handlers(const skw_room_subscription_handlers_t *handlers)
Subscriptionのイベント通知を受け取るハンドラを登録します。登録できる集合は単一で、再登録すると上書きされます。
void(* skw_room_subscription_on_audio_frame_t)(const char *subscription_id, const char *publication_id, const uint8_t *data, size_t length, uint32_t pts)
SubscribeしているStreamからエンコード済み音声フレーム(Opus)を受信したときに呼ばれます。ハンドラ内からunsubscribe等の破棄を伴うAPIとsubscribeは呼び出せません。
Definition subscription.h:80
void(* skw_room_subscription_on_video_frame_t)(const char *subscription_id, const char *publication_id, const uint8_t *data, size_t length, uint32_t pts)
SubscribeしているStreamからエンコード済み映像フレーム(H.264)を受信したときに呼ばれます。ハンドラ内からunsubscribe等の破棄を伴うAPIとsubscribeは呼び出せません...
Definition subscription.h:72