#include <publisher.h>

Campos de datos
void(* on_stream_created )(otc_publisher *editor, void *datos_usuario, const otc_stream *stream)
void(* on_stream_destroyed )(otc_publisher *editor, void *datos_usuario, const otc_stream *stream)
void(* on_render_frame )(otc_publisher *editor, void *datos_usuario, const otc_video_frame *cuadro)
void(* on_audio_level_updated )(otc_publisher *editor, void *datos_usuario, float audio_level)
void(* on_publisher_mute_forced )(otc_publisher *editor, void *datos_usuario)
void(* on_audio_stats )(otc_publisher *editor, void *datos_usuario, struct otc_publisher_audio_stats audio_stats[], size_t número_de_estadísticas)
void(* on_video_stats )(otc_publisher *editor, void *datos_usuario, struct otc_publisher_video_stats video_stats[], size_t número_de_estadísticas)
void(* on_error )(otc_publisher *editor, void *datos_usuario, const char *error_string, enum otc_código_de_error_del_editor (código_de_error)
void(* on_video_desactivado )(otc_publisher *editor, void *datos_usuario, enum otc_video_reason (razón)
void(* on_video_enabled )(otc_publisher *editor, void *datos_usuario, enum otc_video_reason (razón)
void(* on_video_desactivar_advertencia )(otc_publisher *editor, void *datos_usuario)
void(* Se ha eliminado la advertencia sobre el vídeo )(otc_publisher *editor, void *datos_usuario)
void(* on_video_quality_changed )(struct otc_publisher *editor, void *datos_usuario, const struct otc_publisher_video_stats *estadísticas, enumeración otc_video_reason (razón)
void(* on_network_condition_changed )(otc_publisher *editor, void *datos_usuario, const struct otc_publisher_media_link_stats *estadísticas, enumeración otc_motivo_red (razón)
void(* on_media_link_stats )(otc_publisher *editor, void *datos_usuario, struct otc_publisher_media_link_stats media_link_stats[], size_t número_de_estadísticas)
void * datos_usuario
void * reservado

Descripción detallada

Funciones de devolución de llamada del editor.

Esta estructura es un conjunto de punteros a funciones de devolución de llamada que pueden invocarse en respuesta a eventos relacionados con un emisor de OpenTok.

Ninguna de las llamadas de retorno se realizará en el hilo de la aplicación ni en el hilo principal, sino en un hilo interno. La aplicación debe devolver la llamada de retorno lo antes posible para evitar bloquear el hilo interno.

Datos que se pasan a una función de devolución de llamada (que no sea publisher y user_data) se liberarán una vez que se haya llamado a la función de devolución de llamada. Haz una copia de los datos si necesitas conservarlos.

Documentación de campo

on_audio_level_updated

void(* on_audio_level_updated) (otc_publisher *editor, void *datos_usuario, float audio_level)

Se invoca periódicamente para informar del nivel de audio del editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | audio_level | El valor del nivel de audio, entre 0 y 1,0. |

on_audio_stats

void(* on_audio_stats) (otc_publisher *editor, void *datos_usuario, struct otc_publisher_audio_stats audio_stats[], size_t número_de_estadísticas)

Se ejecuta periódicamente para enviar estadísticas de audio al editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | audio_stats | Una matriz con las estadísticas de audio del editor. | | number_of_stats | El número de estadísticas de audio del array. |

on_error

void(* on_error) (otc_publisher *editor, void *datos_usuario, const char *error_string, enum otc_código_de_error_del_editor (código_de_error)

Se ejecuta cuando falla el editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario (user_data) que has establecido para el editor. | | error_string | Una cadena que contiene el mensaje de error. | | error_code | Un valor de la enumeración de códigos de error. |

on_media_link_stats

void(* on_media_link_stats) (otc_publisher *editor, void *datos_usuario, struct otc_publisher_media_link_stats media_link_stats[], size_t número_de_estadísticas)

Se ejecuta periódicamente para generar informes sobre las estadísticas de enlaces multimedia del editor.

Las estadísticas de enlaces de medios ofrecen una visión global del estado de la red a nivel de transporte.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | user_data | Puntero a los datos personalizados del usuario asociados a esta estructura. | | media_link_stats | Un puntero a la estructura de estadísticas del enlace multimedia. |

on_network_condition_changed

void(* on_network_condition_changed) (otc_publisher *editor, void *datos_usuario, const struct otc_publisher_media_link_stats *estadísticas, enumeración otc_motivo_red (razón)

Esta función de devolución de llamada se activa cuando se detecta un cambio en las condiciones de red del editor.

El reason El parámetro indica la causa del evento y, actualmente, siempre es OTC_NETWORK_REASON_NETWORK_CONDITION_CHANGE.

Este evento se diferencia de on_video_disabled y on_video_enabled se diferencia de las demás funciones de devolución de llamada en que informa de cambios en el estado de la red, en lugar de cambios en el estado de la pista de vídeo del editor. Las aplicaciones pueden utilizar esta función de devolución de llamada para responder a problemas de red, como actualizar la interfaz de usuario, registrar datos de telemetría o activar un comportamiento adaptativo.

Parámetros : | | | | --- | --- | | publisher | La instancia del editor que desencadena el evento. | | user_data | Puntero opcional a los datos de usuario que se pasa al registrar la llamada de retorno. | | stats | Un puntero a las estadísticas del enlace multimedia del editor. | | reason | El motivo del cambio en el estado de la red. |

on_publisher_mute_forced

void(* on_publisher_mute_forced) (otc_publisher *editor, void *datos_usuario)

Se activa cuando un moderador ha obligado a este editor a silenciar el audio.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. |

on_render_frame

void(* on_render_frame) (otc_publisher *editor, void *datos_usuario, const otc_video_frame *cuadro)

Se invoca cuando hay un nuevo fotograma listo para ser renderizado por el editor. No llamar a cualquier función de la API de OpenTok (excepto las que se encuentran en video_frame.h) en el mismo hilo que invoca esta función de devolución de llamada. Si necesitas llamar a una función de la API de OpenTok (por ejemplo, funciones en publisher.h o subscriber.h), reprogramar su ejecución en un hilo diferente.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | frame | Un puntero al nuevo fotograma de vídeo. |

on_stream_created

void(* on_stream_created) (otc_publisher *editor, void *datos_usuario, const otc_stream *stream)

Se invoca cuando se crea el flujo del editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | stream | Un puntero al flujo. |

on_stream_destroyed

void(* on_stream_destroyed) (otc_publisher *editor, void *datos_usuario, const otc_stream *stream)

Se invoca cuando se destruye el flujo del editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | stream | Un puntero al flujo. |

on_video_desactivar_advertencia

void(* on_video_disable_warning) (otc_publisher *editor, void *datos_usuario)

Se invoca cuando el editor determina que el nivel de congestión de la red ha empeorado y que el vídeo se desactivará si la calidad sigue deteriorándose.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | user_data | Puntero a los datos personalizados del usuario asociados a esta estructura. |

Se ha eliminado la advertencia sobre el vídeo

void(* on_video_disable_warning_lifted) (otc_publisher *editor, void *datos_usuario)

Se invoca cuando el editor determina que el nivel de congestión de la red ha mejorado hasta el punto de que la desactivación del vídeo ya no supone un riesgo inmediato.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | user_data | Puntero a los datos personalizados del usuario asociados a esta estructura. |

on_video_desactivado

void(* on_video_disabled) (otc_publisher *editor, void *datos_usuario, enum otc_video_reason (razón)

Se invoca cuando el vídeo del editor está desactivado.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | user_data | Puntero a los datos personalizados del usuario asociados a esta estructura. | | reason | Proporciona más detalles sobre el motivo por el que se ha desactivado el vídeo. |

on_video_enabled

void(* on_video_enabled) (otc_publisher *editor, void *datos_usuario, enum otc_video_reason (razón)

Se ejecuta cuando se activa el vídeo del editor.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | user_data | Puntero a los datos personalizados del usuario asociados a esta estructura. | | reason | Proporciona más detalles sobre el motivo por el que se ha habilitado el vídeo. |

on_video_quality_changed

void(* on_video_quality_changed) (struct otc_publisher *editor, void *datos_usuario, const struct otc_publisher_video_stats *estadísticas, enumeración otc_video_reason (razón)

Esta función de devolución de llamada se activa cada vez que se produce un cambio en el estado de calidad de la transmisión de vídeo del editor. Proporciona información sobre el evento, estadísticas actualizadas y un código de motivo que indica por qué se produjo el evento.

El reason Este parámetro indica la causa del evento y se tiene en cuenta siguiendo el siguiente orden de prioridad: deterioro del ancho de banda, deterioro de la CPU, otras causas de deterioro de la calidad, cambios en el códec, cambios en la resolución o en la capa.

Este evento se diferencia de on_video_disabled y on_video_enabled funciones de devolución de llamada, ya que notifica los cambios relevantes en la calidad del vídeo. on_video_disabled y `on_video_enabled solo indican que la pista de vídeo del suscriptor se ha activado o desactivado (por ejemplo, debido a una actualización de las propiedades de la transmisión o a un cambio a audio de reserva). Por el contrario, este evento proporciona información de diagnóstico sobre las causas de la degradación de la calidad —como limitaciones de CPU o de ancho de banda— y también se activa cuando el vídeo permanece activado.

Las aplicaciones pueden utilizar esta función de devolución de llamada para supervisar los cambios en la calidad y reaccionar en consecuencia, por ejemplo, ajustando elementos de la interfaz de usuario o activando alertas.

Parámetros : | | | | --- | --- | | publisher | La instancia que realiza esta llamada. | | stats | Estadísticas actualizadas que incluyen detalles sobre la resolución o los cambios en las capas de vídeo | | user_data | Puntero opcional a datos de usuario que se pasa al registrar la llamada de retorno. | | reason | El código de motivo del evento de calidad, basado en otc_video_reason enum. |

on_video_stats

void(* on_video_stats) (otc_publisher *editor, void *datos_usuario, struct otc_publisher_video_stats video_stats[], size_t número_de_estadísticas)

Se ejecuta periódicamente para enviar un informe con las estadísticas de vídeo al editor.

Parámetros : | | | | --- | --- | | publisher | Un puntero al editor. | | user_data | Un puntero a los datos de usuario que has establecido para el editor. | | video_stats | Una matriz con las estadísticas de vídeo del editor. | | number_of_stats | El número de estadísticas de vídeo que contiene la matriz. |

reservado

void* reservado

Un puntero nulo a un área de memoria que contiene recursos reservados utilizados para la implementación interna.

datos_usuario

void* datos_de_usuario

Un puntero a los datos que has configurado en relación con el editor.