#include <publisher.h>

Champs de données
void(* on_stream_created )(otc_publisher *éditeur, void *données_utilisateur, const otc_stream *stream)
void(* on_stream_destroyed )(otc_publisher *éditeur, void *données_utilisateur, const otc_stream *stream)
void(* on_render_frame )(otc_publisher *éditeur, void *données_utilisateur, const otc_video_frame *image)
void(* on_audio_level_updated )(otc_publisher *éditeur, void *données_utilisateur, float niveau_audio)
void(* on_publisher_mute_forced )(otc_publisher *éditeur, void *données_utilisateur)
void(* on_audio_stats )(otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_audio_stats audio_stats[], size_t nombre_de_statistiques)
void(* on_video_stats )(otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_video_stats video_stats[], size_t nombre_de_statistiques)
void(* on_error )(otc_publisher *éditeur, void *données_utilisateur, const char *error_string, enum otc_publisher_error_code code_erreur)
void(* on_video_disabled )(otc_publisher *éditeur, void *données_utilisateur, énumération otc_video_reason raison)
void(* on_video_enabled )(otc_publisher *éditeur, void *données_utilisateur, énumération otc_video_reason raison)
void(* on_video_disable_warning )(otc_publisher *éditeur, void *données_utilisateur)
void(* on_video_disable_warning_lifted )(otc_publisher *éditeur, void *données_utilisateur)
void(* on_video_quality_changed )(struct otc_publisher *éditeur, void *données_utilisateur, struct constante otc_publisher_video_stats *statistiques, énumération otc_video_reason raison)
void(* on_network_condition_changed )(otc_publisher *éditeur, void *données_utilisateur, struct constante otc_publisher_media_link_stats *statistiques, énumération otc_network_reason raison)
void(* on_media_link_stats )(otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_media_link_stats media_link_stats[], size_t nombre_de_statistiques)
void * données_utilisateur
void * réservé

Description détaillée

Fonctions de rappel de l'éditeur.

Cette structure est un ensemble de pointeurs vers des fonctions de rappel pouvant être appelées en réponse à des événements liés à un éditeur OpenTok.

Tous les rappels ne seront pas effectués sur l'application ou le thread principal, mais sur un thread interne. L'application doit renvoyer le rappel le plus rapidement possible afin d'éviter de bloquer le thread interne.

Données transmises à une fonction de rappel (autre que publisher et user_data) seront libérées une fois la fonction de rappel appelée. Faites une copie des données si vous souhaitez les conserver.

Documentation sur le terrain

on_audio_level_updated

void(* on_audio_level_updated) (otc_publisher *éditeur, void *données_utilisateur, float niveau_audio)

Appelée périodiquement pour signaler le niveau audio de l'éditeur.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | audio_level | La valeur du niveau audio, comprise entre 0 et 1,0. |

on_audio_stats

void(* on_audio_stats) (otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_audio_stats audio_stats[], size_t nombre_de_statistiques)

Appelée périodiquement pour transmettre les statistiques audio à l'éditeur.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | audio_stats | Un tableau contenant les statistiques audio de l'éditeur. | | number_of_stats | Le nombre de statistiques audio dans le tableau. |

on_error

void(* on_error) (otc_publisher *éditeur, void *données_utilisateur, const char *error_string, enum otc_publisher_error_code code_erreur)

Appelée en cas d'échec de l'éditeur.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur (user_data) que vous avez définies pour l'éditeur. | | error_string | Une chaîne de caractères contenant le message d'erreur. | | error_code | Une valeur d'énumération de code d'erreur. |

on_media_link_stats

void(* on_media_link_stats) (otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_media_link_stats media_link_stats[], size_t nombre_de_statistiques)

Appelée périodiquement pour transmettre les statistiques relatives aux liens multimédias à l'éditeur.

Les statistiques relatives aux liaisons de support offrent une vue d'ensemble des conditions du réseau au niveau du transport.

Paramètres : | | | | --- | --- | | publisher | L'instance qui effectue cet appel. | | user_data | Pointeur vers les données personnalisées de l'utilisateur associées à cette structure. | | media_link_stats | Pointeur vers la structure contenant les statistiques du lien multimédia. |

on_network_condition_changed

void(* on_network_condition_changed) (otc_publisher *éditeur, void *données_utilisateur, struct constante otc_publisher_media_link_stats *statistiques, énumération otc_network_reason raison)

Cette fonction de rappel est appelée lorsqu'un changement de l'état du réseau est détecté pour l'éditeur.

Les reason Ce paramètre indique la cause de l'événement et prend actuellement toujours la valeur OTC_NETWORK_REASON_NETWORK_CONDITION_CHANGE.

Cet événement diffère de on_video_disabled et on_video_enabled Ces callbacks se distinguent en ce qu'ils signalent les changements d'état du réseau plutôt que ceux de la piste vidéo de l'éditeur. Les applications peuvent utiliser ce callback pour réagir aux problèmes réseau, par exemple en mettant à jour l'interface utilisateur, en enregistrant des données de télémétrie ou en déclenchant un comportement adaptatif.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur déclenchant l'événement. | | user_data | Pointeur facultatif vers les données utilisateur transmis lors de l'enregistrement du callback. | | stats | Pointeur vers les statistiques du lien multimédia pour l'éditeur. | | reason | La raison du changement d'état du réseau. |

on_publisher_mute_forced

void(* on_publisher_mute_forced) (otc_publisher *éditeur, void *données_utilisateur)

Appelé lorsqu'un modérateur a contraint cet éditeur à couper le son.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. |

on_render_frame

void(* on_render_frame) (otc_publisher *éditeur, void *données_utilisateur, const otc_video_frame *image)

Appelée lorsqu'une nouvelle image est prête à être affichée par l'éditeur. Ne pas appeler n'importe quelle fonction de l'API OpenTok (à l'exception de celles figurant dans video_frame.h) dans le même thread que celui qui déclenche ce callback. Si vous devez appeler une fonction de l'API OpenTok (par exemple, des fonctions dans publisher.h ou subscriber.h), reporter son exécution sur un autre thread.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | frame | Un pointeur vers la nouvelle image vidéo. |

on_stream_created

void(* on_stream_created) (otc_publisher *éditeur, void *données_utilisateur, const otc_stream *stream)

Appelée lors de la création du flux de l'éditeur.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | stream | Un pointeur vers le flux. |

on_stream_destroyed

void(* on_stream_destroyed) (otc_publisher *éditeur, void *données_utilisateur, const otc_stream *stream)

Appelée lorsque le flux de l'éditeur est détruit.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | stream | Un pointeur vers le flux. |

on_video_disable_warning

void(* on_video_disable_warning) (otc_publisher *éditeur, void *données_utilisateur)

Cette méthode est appelée lorsque l'éditeur constate que le niveau de congestion du réseau s'est aggravé et que la vidéo sera désactivée si la qualité continue de se dégrader.

Paramètres : | | | | --- | --- | | publisher | L'instance qui effectue cet appel. | | user_data | Pointeur vers les données personnalisées de l'utilisateur associées à cette structure. |

on_video_disable_warning_lifted

void(* on_video_disable_warning_lifted) (otc_publisher *éditeur, void *données_utilisateur)

Cette méthode est appelée lorsque l'éditeur constate que le niveau de congestion du réseau s'est amélioré au point que la vidéo en cours de désactivation ne présente plus de risque immédiat.

Paramètres : | | | | --- | --- | | publisher | L'instance qui effectue cet appel. | | user_data | Pointeur vers les données personnalisées de l'utilisateur associées à cette structure. |

on_video_disabled

void(* on_video_disabled) (otc_publisher *éditeur, void *données_utilisateur, énumération otc_video_reason raison)

Appelée lorsque la vidéo de l'éditeur est désactivée.

Paramètres : | | | | --- | --- | | publisher | L'instance qui effectue cet appel. | | user_data | Pointeur vers les données personnalisées de l'utilisateur associées à cette structure. | | reason | Fournit plus de détails sur la raison pour laquelle la vidéo a été désactivée. |

on_video_enabled

void(* on_video_enabled) (otc_publisher *éditeur, void *données_utilisateur, énumération otc_video_reason raison)

Appelée lorsque la vidéo de l'éditeur est activée.

Paramètres : | | | | --- | --- | | publisher | L'instance qui effectue cet appel. | | user_data | Pointeur vers les données personnalisées de l'utilisateur associées à cette structure. | | reason | Fournit plus de détails sur la raison pour laquelle la vidéo a été activée. |

on_video_quality_changed

void(* on_video_quality_changed) (struct otc_publisher *éditeur, void *données_utilisateur, struct constante otc_publisher_video_stats *statistiques, énumération otc_video_reason raison)

Cette fonction de rappel est appelée chaque fois qu'un changement intervient dans l'état de qualité du flux vidéo de l'éditeur. Elle fournit des informations sur l'événement, des statistiques mises à jour ainsi qu'un code de motif indiquant la raison pour laquelle l'événement s'est produit.

Les reason Ce paramètre indique la cause de l'événement et est pris en compte selon l'ordre de priorité suivant : dégradation de la bande passante, dégradation des performances du processeur, autres causes de dégradation de la qualité, changements de codec, changements de résolution ou de couche.

Cet événement diffère de on_video_disabled et on_video_enabled des « callbacks » dans la mesure où il signale les changements ayant une incidence sur la qualité vidéo. on_video_disabled et `on_video_enabled` indiquent uniquement que la piste vidéo de l'abonné a été activée ou désactivée (par exemple, à la suite d'une mise à jour des propriétés du flux ou d'un basculement vers l'audio). En revanche, cet événement fournit des informations de diagnostic sur les causes de la dégradation de la qualité — telles que les limitations du processeur ou de la bande passante — et est également déclenché lorsque la vidéo reste activée.

Les applications peuvent utiliser ce callback pour surveiller les changements de qualité et réagir en conséquence, par exemple en ajustant des éléments de l'interface utilisateur ou en déclenchant des alertes.

Paramètres : | | | | --- | --- | | publisher | L'instance qui déclenche cet appel. | | stats | Statistiques mises à jour, y compris des détails sur la résolution ou les modifications apportées aux couches vidéo | | user_data | Pointeur de données utilisateur facultatif transmis lors de l'enregistrement du callback. | | reason | Code de raison de l'événement de qualité, basé sur otc_video_reason énum. |

on_video_stats

void(* on_video_stats) (otc_publisher *éditeur, void *données_utilisateur, struct otc_publisher_video_stats video_stats[], size_t nombre_de_statistiques)

Appelée périodiquement pour transmettre les statistiques vidéo à l'éditeur.

Paramètres : | | | | --- | --- | | publisher | Un pointeur vers l'éditeur. | | user_data | Un pointeur vers les données utilisateur que vous avez définies pour l'éditeur. | | video_stats | Un tableau contenant les statistiques vidéo de l'éditeur. | | number_of_stats | Le nombre de statistiques vidéo dans le tableau. |

réservé

void* réservé

Un pointeur nul vers une zone de mémoire contenant des ressources réservées utilisées pour la mise en œuvre interne.

données_utilisateur

void* données_utilisateur

Un pointeur vers les données que vous avez définies concernant l'éditeur.