#include <publisher.h>

Datenfelder
void(* on_stream_created )(otc_publisher *publisher, void *user_data, const otc_stream *Stream)
void(* on_stream_destroyed )(otc_publisher *publisher, void *user_data, const otc_stream *Stream)
void(* on_render_frame )(otc_publisher *publisher, void *user_data, const otc_video_frame *Rahmen)
void(* on_audio_level_updated )(otc_publisher *publisher, void *user_data, float audio_level)
void(* on_publisher_mute_forced )(otc_publisher *publisher, void *user_data)
void(* on_audio_stats )(otc_publisher *publisher, void *user_data, struct otc_verlag_audio_statistiken audio_stats[], size_t Anzahl_der_Statistiken)
void(* on_video_stats )(otc_publisher *publisher, void *user_data, struct otc_verlag_video_statistiken video_stats[], size_t Anzahl_der_Statistiken)
void(* on_error )(otc_publisher *publisher, void *user_data, const char *error_string, enum otc_publisher_error_code Fehlercode)
void(* on_video_disabled )(otc_publisher *publisher, void *user_data, enum otc_video_reason Grund)
void(* on_video_enabled )(otc_publisher *publisher, void *user_data, enum otc_video_reason Grund)
void(* on_video_disable_warning )(otc_publisher *publisher, void *user_data)
void(* on_video_disable_warning_aufgehoben )(otc_publisher *publisher, void *user_data)
void(* on_video_quality_changed )(struct otc_publisher *publisher, void *user_data, const struct otc_verlag_video_statistiken *Statistiken, Aufzählung otc_video_reason Grund)
void(* on_network_condition_changed )(otc_publisher *publisher, void *user_data, const struct otc_publisher_media_link_stats *Statistiken, Aufzählung otc_network_reason Grund)
void(* on_media_link_stats )(otc_publisher *publisher, void *user_data, struct otc_publisher_media_link_stats media_link_stats[], size_t Anzahl_der_Statistiken)
void * user_data
void * reserviert

Ausführliche Beschreibung

Callback-Funktionen des Herausgebers.

Bei dieser Struktur handelt es sich um eine Reihe von Funktionszeigern auf Callback-Funktionen, die als Reaktion auf Ereignisse im Zusammenhang mit einem OpenTok-Publisher aufgerufen werden können.

Alle Rückrufe erfolgen nicht über die Anwendung oder den Hauptthread, sondern über einen internen Thread. Die Anwendung sollte den Rückruf so schnell wie möglich zurückgeben, um ein Blockieren des internen Threads zu vermeiden.

Daten, die an eine Callback-Funktion übergeben werden (mit Ausnahme von publisher und user_data) wird nach dem Aufruf des Callbacks freigegeben. Erstellen Sie eine Kopie der Daten, falls Sie diese behalten möchten.

Felddokumentation

on_audio_level_updated

void(* on_audio_level_updated) (otc_publisher *publisher, void *user_data, float audio_level)

Wird in regelmäßigen Abständen aufgerufen, um den Audiopegel des Publishers zu melden.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | audio_level | Der Wert für die Lautstärke, zwischen 0 und 1,0. |

on_audio_stats

void(* on_audio_stats) (otc_publisher *publisher, void *user_data, struct otc_verlag_audio_statistiken audio_stats[], size_t Anzahl_der_Statistiken)

Wird in regelmäßigen Abständen aufgerufen, um Audiostatistiken für den Herausgeber zu melden.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | audio_stats | Ein Array mit den Audio-Statistiken des Publishers. | | number_of_stats | Die Anzahl der Audio-Statistiken im Array. |

on_error

void(* on_error) (otc_publisher *publisher, void *user_data, const char *error_string, enum otc_publisher_error_code Fehlercode)

Wird aufgerufen, wenn der Publisher fehlschlägt.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | error_string | Eine Zeichenkette, die die Fehlermeldung enthält. | | error_code | Ein Wert aus der Fehlercode-Enumeration. |

on_media_link_stats

void(* on_media_link_stats) (otc_publisher *publisher, void *user_data, struct otc_publisher_media_link_stats media_link_stats[], size_t Anzahl_der_Statistiken)

Wird in regelmäßigen Abständen aufgerufen, um Statistiken zu den Medien-Links für den Herausgeber zu melden.

Statistiken zu Medienverbindungen bieten einen einheitlichen Überblick über die Netzwerkbedingungen auf Transportebene.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf ausführt. | | user_data | Zeiger auf benutzerdefinierte Daten, die an diese Struktur gebunden sind. | | media_link_stats | Ein Zeiger auf die Struktur „media_link_stats“. |

on_network_condition_changed

void(* on_network_condition_changed) (otc_publisher *publisher, void *user_data, const struct otc_publisher_media_link_stats *Statistiken, Aufzählung otc_network_reason Grund)

Dieser Callback wird aufgerufen, wenn beim Publisher eine Änderung der Netzwerkbedingungen festgestellt wird.

Die reason Der Parameter gibt die Ursache des Ereignisses an und ist derzeit immer OTC_NETWORK_REASON_NETWORK_CONDITION_CHANGE.

Diese Veranstaltung unterscheidet sich von on_video_disabled und on_video_enabled Callbacks insofern, als es Änderungen des Netzwerkzustands meldet und nicht Änderungen des Status der Videospur des Publishers. Anwendungen können diesen Callback nutzen, um auf Netzwerkprobleme zu reagieren, beispielsweise durch Aktualisierung der Benutzeroberfläche, Protokollierung von Telemetriedaten oder Auslösen adaptiver Verhaltensweisen.

Parameter : | | | | --- | --- | | publisher | Die Publisher-Instanz, die das Ereignis auslöst. | | user_data | Optionaler Zeiger auf Benutzerdaten, der bei der Registrierung des Callbacks übergeben wird. | | stats | Ein Zeiger auf die Medienlink-Statistiken für den Publisher. | | reason | Der Grund für die Änderung der Netzwerkbedingungen. |

on_publisher_mute_forced

void(* on_publisher_mute_forced) (otc_publisher *publisher, void *user_data)

Wird aufgerufen, wenn ein Moderator diesen Publisher dazu gezwungen hat, den Ton stummzuschalten.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. |

on_render_frame

void(* on_render_frame) (otc_publisher *publisher, void *user_data, const otc_video_frame *Rahmen)

Wird aufgerufen, wenn ein neuer Frame vom Publisher zur Darstellung bereitgestellt wird. Nicht OpenTok-API-Funktionen aufrufen (mit Ausnahme derjenigen in video_frame.h) in demselben Thread, der diesen Callback aufruft. Wenn Sie eine OpenTok-API-Funktion aufrufen müssen (beispielsweise Funktionen in publisher.h oder subscriber.h), die Ausführung auf einen anderen Thread verlagern.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | frame | Ein Zeiger auf das neue Videobild. |

on_stream_created

void(* on_stream_created) (otc_publisher *publisher, void *user_data, const otc_stream *Stream)

Wird aufgerufen, wenn der Stream des Publishers erstellt wird.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | stream | Ein Zeiger auf den Stream. |

on_stream_destroyed

void(* on_stream_destroyed) (otc_publisher *publisher, void *user_data, const otc_stream *Stream)

Wird aufgerufen, wenn der Stream des Publishers zerstört wird.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | stream | Ein Zeiger auf den Stream. |

on_video_disable_warning

void(* on_video_disable_warning) (otc_publisher *publisher, void *user_data)

Wird aufgerufen, wenn der Publisher feststellt, dass sich die Netzwerkauslastung verschlechtert hat und das Video deaktiviert wird, sollte sich die Qualität weiter verschlechtern.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf auslöst. | | user_data | Zeiger auf benutzerdefinierte Daten, die an diese Struktur gebunden sind. |

on_video_disable_warning_aufgehoben

void(* on_video_disable_warning_lifted) (otc_publisher *publisher, void *user_data)

Wird aufgerufen, wenn der Publisher feststellt, dass sich die Netzwerkauslastung so weit verbessert hat, dass das deaktivierte Video kein unmittelbares Risiko mehr darstellt.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf auslöst. | | user_data | Zeiger auf benutzerdefinierte Daten, die an diese Struktur gebunden sind. |

on_video_disabled

void(* on_video_disabled) (otc_publisher *publisher, void *user_data, enum otc_video_reason Grund)

Wird aufgerufen, wenn das Video des Herausgebers deaktiviert ist.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf auslöst. | | user_data | Zeiger auf benutzerdefinierte Daten, die an diese Struktur gebunden sind. | | reason | Enthält weitere Details dazu, warum das Video deaktiviert wurde. |

on_video_enabled

void(* on_video_enabled) (otc_publisher *publisher, void *user_data, enum otc_video_reason Grund)

Wird aufgerufen, wenn das Video des Herausgebers aktiviert ist.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf auslöst. | | user_data | Zeiger auf benutzerdefinierte Daten, die an diese Struktur gebunden sind. | | reason | Liefert weitere Details dazu, warum das Video aktiviert wurde. |

on_video_quality_changed

void(* on_video_quality_changed) (struct otc_publisher *publisher, void *user_data, const struct otc_verlag_video_statistiken *Statistiken, Aufzählung otc_video_reason Grund)

Dieser Callback wird immer dann aufgerufen, wenn sich der Qualitätsstatus des Videostreams des Publishers ändert. Er liefert Informationen zum Ereignis, aktualisierte Statistiken sowie einen Ursachencode, der angibt, warum das Ereignis aufgetreten ist.

Die reason Der Parameter gibt die Ursache des Ereignisses an und wird in der folgenden Prioritätsreihenfolge berücksichtigt: Bandbreitenbeeinträchtigung, CPU-Beeinträchtigung, sonstige Gründe für Qualitätsbeeinträchtigungen, Codec-Änderungen, Änderungen der Auflösung oder der Ebene.

Diese Veranstaltung unterscheidet sich von on_video_disabled und on_video_enabled Callbacks, da es Änderungen meldet, die für die Videoqualität relevant sind. on_video_disabled und `on_video_enabled geben lediglich an, dass die Videospur des Abonnenten aktiviert oder deaktiviert wurde (beispielsweise aufgrund einer Aktualisierung der Stream-Eigenschaften oder eines Audio-Fallbacks). Im Gegensatz dazu liefert dieses Ereignis Diagnoseinformationen zu den Ursachen für Qualitätseinbußen – wie beispielsweise CPU- oder Bandbreitenbeschränkungen – und wird auch dann ausgelöst, wenn das Video aktiviert bleibt.

Anwendungen können diesen Callback nutzen, um Qualitätsänderungen zu überwachen und entsprechend zu Reacten, beispielsweise durch Anpassen von UI-Elementen oder Auslösen von Warnmeldungen.

Parameter : | | | | --- | --- | | publisher | Die Instanz, die diesen Aufruf auslöst. | | stats | Aktualisierte Statistiken einschließlich Details zur Auflösung oder zu Änderungen an den Videoebenen | | user_data | Optionaler Zeiger auf Benutzerdaten, der bei der Registrierung des Callbacks übergeben wird. | | reason | Der Grundcode für das Qualitätsereignis, basierend auf otc_video_reason enum. |

on_video_stats

void(* on_video_stats) (otc_publisher *publisher, void *user_data, struct otc_verlag_video_statistiken video_stats[], size_t Anzahl_der_Statistiken)

Wird in regelmäßigen Abständen aufgerufen, um Videostatistiken für den Publisher zu melden.

Parameter : | | | | --- | --- | | publisher | Ein Zeiger auf den Publisher. | | user_data | Ein Zeiger auf die user_data, die Sie für den Publisher festgelegt haben. | | video_stats | Ein Array mit den Videostatistiken des Publishers. | | number_of_stats | Die Anzahl der Videostatistiken im Array. |

reserviert

void* reserviert

Ein void-Zeiger auf einen Speicherbereich, der reservierte Ressourcen enthält, die für die interne Implementierung verwendet werden.

user_data

void* user_data

Ein Zeiger auf die von Ihnen festgelegten Daten zum Herausgeber.