#include <publisher.h>

Campos de dados
void(* on_stream_created )(otc_publisher *editor, void *dados_do_usuário, const otc_stream *transmissão)
void(* on_stream_destroyed )(otc_publisher *editor, void *dados_do_usuário, const otc_stream *transmissão)
void(* on_render_frame )(otc_publisher *editor, void *dados_do_usuário, const otc_video_frame *quadro)
void(* on_audio_level_updated )(otc_publisher *editor, void *dados_do_usuário, float nível_de_áudio)
void(* on_publisher_mute_forced )(otc_publisher *editor, void *dados_do_usuário)
void(* on_audio_stats )(otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_audio_stats audio_stats[], size_t número_de_estatísticas)
void(* on_video_stats )(otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_video_stats video_stats[], size_t número_de_estatísticas)
void(* on_error )(otc_publisher *editor, void *dados_do_usuário, const char *error_string, enum otc_publisher_error_code (código_de_erro)
void(* on_video_desativado )(otc_publisher *editor, void *dados_do_usuário, enumeração otc_video_reason motivo)
void(* on_video_enabled )(otc_publisher *editor, void *dados_do_usuário, enumeração otc_video_reason motivo)
void(* on_video_desativar_aviso )(otc_publisher *editor, void *dados_do_usuário)
void(* aviso_sobre_desativação_do_vídeo_retirado )(otc_publisher *editor, void *dados_do_usuário)
void(* on_video_quality_changed )(struct otc_publisher *editor, void *dados_do_usuário, const struct otc_publisher_video_stats *estatísticas, enumeração otc_video_reason motivo)
void(* on_network_condition_changed )(otc_publisher *editor, void *dados_do_usuário, const struct otc_publisher_media_link_stats *estatísticas, enumeração otc_network_reason motivo)
void(* on_media_link_stats )(otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_media_link_stats media_link_stats[], size_t número_de_estatísticas)
void * dados_do_usuário
void * reservado

Descrição detalhada

Funções de retorno de chamada do editor.

Essa estrutura é um conjunto de ponteiros de função para funções de retorno de chamada que podem ser chamadas em resposta a eventos relacionados a um publisher do OpenTok.

Todas as chamadas de retorno não serão executadas na thread do aplicativo ou na thread principal, mas em uma thread interna. O aplicativo deve retornar a chamada de retorno o mais rápido possível para evitar o bloqueio da thread interna.

Dados passados para uma função de retorno de chamada (exceto publisher e user_data) serão liberados após a chamada da função de retorno. Faça uma cópia dos dados caso precise mantê-los.

Documentação de campo

on_audio_level_updated

void(* on_audio_level_updated) (otc_publisher *editor, void *dados_do_usuário, float nível_de_áudio)

É chamado periodicamente para informar o nível de áudio do editor.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | audio_level | O valor do nível de áudio, de 0 a 1,0. |

on_audio_stats

void(* on_audio_stats) (otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_audio_stats audio_stats[], size_t número_de_estatísticas)

É chamado periodicamente para relatar estatísticas de áudio para o editor.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | audio_stats | Uma matriz com as estatísticas de áudio do publisher. | | number_of_stats | O número de estatísticas de áudio na matriz. |

on_error

void(* on_error) (otc_publisher *editor, void *dados_do_usuário, const char *error_string, enum otc_publisher_error_code (código_de_erro)

É chamado quando o publisher falha.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | error_string | Uma string contendo a mensagem de erro. | | error_code | Um valor de enumeração de código de erro. |

on_media_link_stats

void(* on_media_link_stats) (otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_media_link_stats media_link_stats[], size_t número_de_estatísticas)

É chamado periodicamente para relatar as estatísticas de links de mídia para o editor.

As estatísticas de links de mídia oferecem uma visão unificada das condições da rede no nível de transporte.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | media_link_stats | Um ponteiro para a estrutura de estatísticas do link de mídia. |

on_network_condition_changed

void(* on_network_condition_changed) (otc_publisher *editor, void *dados_do_usuário, const struct otc_publisher_media_link_stats *estatísticas, enumeração otc_network_reason motivo)

Essa função de retorno de chamada é acionada quando é detectada uma alteração nas condições de rede do editor.

O reason O parâmetro indica a causa do evento e, atualmente, é sempre OTC_NETWORK_REASON_NETWORK_CONDITION_CHANGE.

Este evento difere de on_video_disabled e on_video_enabled callbacks, na medida em que relata alterações na integridade da rede, em vez de alterações no estado da trilha de vídeo do editor. As aplicações podem usar esse callback para responder a problemas de rede, como atualizar a interface do usuário, registrar dados de telemetria ou acionar um comportamento adaptativo.

Parâmetros : | | | | --- | --- | | publisher | A instância do editor que aciona o evento. | | user_data | Ponteiro opcional para dados do usuário, passado ao registrar o callback. | | stats | Um ponteiro para as estatísticas do link de mídia do editor. | | reason | O motivo da mudança na condição da rede. |

on_publisher_mute_forced

void(* on_publisher_mute_forced) (otc_publisher *editor, void *dados_do_usuário)

É chamado quando um moderador força esse editor a silenciar o áudio.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data que você definiu para o publisher. |

on_render_frame

void(* on_render_frame) (otc_publisher *editor, void *dados_do_usuário, const otc_video_frame *quadro)

É chamado quando há um novo quadro pronto para ser renderizado pelo publisher. Não chamar quaisquer funções da API do OpenTok (exceto aquelas em video_frame.h) no mesmo thread que invoca essa função de retorno. Se você precisar chamar uma função da API do OpenTok (por exemplo, funções em publisher.h ou subscriber.h), reprogramar sua execução para uma thread diferente.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | frame | Um ponteiro para o novo quadro de vídeo. |

on_stream_created

void(* on_stream_created) (otc_publisher *editor, void *dados_do_usuário, const otc_stream *transmissão)

É chamado quando o fluxo do editor é criado.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | stream | Um ponteiro para o stream. |

on_stream_destroyed

void(* on_stream_destroyed) (otc_publisher *editor, void *dados_do_usuário, const otc_stream *transmissão)

É chamado quando o fluxo do publisher é destruído.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o publisher. | | user_data | Um ponteiro para o user_data definido para o publisher. | | stream | Um ponteiro para o stream. |

on_video_desativar_aviso

void(* on_video_disable_warning) (otc_publisher *editor, void *dados_do_usuário)

É chamado quando o editor determina que o nível de congestionamento da rede piorou e que o vídeo será desativado caso a qualidade piore ainda mais.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |

aviso_sobre_desativação_do_vídeo_retirado

void(* on_video_disable_warning_lifted) (otc_publisher *editor, void *dados_do_usuário)

É chamado quando o editor determina que o nível de congestionamento da rede melhorou a ponto de o vídeo que está sendo desativado não representar mais um risco imediato.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |

on_video_desativado

void(* on_video_disabled) (otc_publisher *editor, void *dados_do_usuário, enumeração otc_video_reason motivo)

É chamado quando o vídeo do editor está desativado.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | reason | Fornece mais detalhes sobre o motivo pelo qual o vídeo foi desativado. |

on_video_enabled

void(* on_video_enabled) (otc_publisher *editor, void *dados_do_usuário, enumeração otc_video_reason motivo)

É chamado quando o vídeo do editor está ativado.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | reason | Fornece mais detalhes sobre o motivo pelo qual o vídeo foi ativado. |

on_video_quality_changed

void(* on_video_quality_changed) (struct otc_publisher *editor, void *dados_do_usuário, const struct otc_publisher_video_stats *estatísticas, enumeração otc_video_reason motivo)

Essa função de retorno de chamada é acionada sempre que ocorre uma alteração no estado de qualidade do fluxo de vídeo do editor. Ela fornece informações sobre o evento, estatísticas atualizadas e um código de motivo indicando por que o evento ocorreu.

O reason O parâmetro indica a causa do evento e é considerado de acordo com a seguinte ordem de prioridade: degradação da largura de banda, degradação da CPU, outros motivos de degradação da qualidade, alterações no codec, alterações na resolução ou na camada.

Este evento difere de on_video_disabled e on_video_enabled funções de retorno, na medida em que notifica sobre alterações relevantes na qualidade do vídeo. on_video_disabled e `on_video_enabled` apenas indicam que a trilha de vídeo do assinante foi ativada ou desativada (por exemplo, devido a uma atualização de propriedade do stream ou a um fallback de áudio). Em contrapartida, esse evento fornece informações de diagnóstico sobre as causas da degradação da qualidade — como limitações de CPU ou largura de banda — e também é acionado quando o vídeo permanece ativado.

Os aplicativos podem usar essa função de retorno de chamada para monitorar mudanças na qualidade e reagir de acordo, por exemplo, ajustando elementos da interface do usuário ou acionando alertas.

Parâmetros : | | | | --- | --- | | publisher | A instância que está invocando esta chamada. | | stats | Estatísticas atualizadas, incluindo detalhes sobre a resolução ou alterações nas camadas de vídeo | | user_data | Ponteiro opcional de dados do usuário passado ao registrar o callback. | | reason | O código de motivo para o evento de qualidade, com base em otc_video_reason enum. |

on_video_stats

void(* on_video_stats) (otc_publisher *editor, void *dados_do_usuário, struct otc_publisher_video_stats video_stats[], size_t número_de_estatísticas)

É chamado periodicamente para relatar as estatísticas de vídeo para o editor.

Parâmetros : | | | | --- | --- | | publisher | Um ponteiro para o editor. | | user_data | Um ponteiro para os dados de usuário (user_data) definidos para o editor. | | video_stats | Uma matriz contendo as estatísticas de vídeo do editor. | | number_of_stats | O número de estatísticas de vídeo na matriz. |

reservado

void* reservado

Um ponteiro nulo para uma área de memória que contém recursos reservados utilizados para a implementação interna.

dados_do_usuário

void* user_data

Um ponteiro para os dados que você definiu relacionados ao editor.