#include <subscriber.h>
Descrição detalhada
Funções de retorno de chamada do assinante.
Essa estrutura é um conjunto de ponteiros para funções que podem ser chamadas em caso de eventos relacionados a um assinante 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.
Documentação de campo
on_audio_data
| void(* on_audio_data) (otc_assinante *assinante, void *dados_do_usuário, const struct otc_audio_data *dados_de_áudio) |
É chamado periodicamente para relatar os dados de áudio do assinante. As propriedades do áudio recebido podem mudar dinamicamente. As causas dessas mudanças incluem a negociação do codec de áudio, as condições da rede, etc. Os consumidores dos dados de áudio são responsáveis por lidar com essas mudanças de acordo com o caso de uso implementado (por exemplo, reamostragem de áudio).
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário associados a esta estrutura. | | audio_data | Os dados de áudio. |
on_audio_desativado
| void(* on_audio_disabled) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando o áudio do assinante está desativado.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |
on_audio_enabled
| void(* on_audio_enabled) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando o áudio do assinante está ativado.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |
on_audio_level_updated
| void(* on_audio_level_updated) (otc_assinante *assinante, void *dados_do_usuário, float nível_de_áudio) |
É chamado periodicamente para informar o nível de áudio do assinante.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | audio_level | O valor do nível de áudio, de 0 a 1,0. |
on_audio_stats
| void(* on_audio_stats) (otc_assinante *assinante, void *dados_do_usuário, struct otc_subscriber_audio_stats (audio_stats) |
É chamado periodicamente para relatar estatísticas de áudio do assinante.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | audio_stats | Um ponteiro para a estrutura de estatísticas de áudio. |
on_caption_text
| void(* on_caption_text) (otc_assinante *assinante, void *dados_do_usuário, const char *text, otc_bool is_final) |
É chamado quando o texto da legenda do stream do assinante estiver disponível.
Parâmetros : | | | | --- | --- | | subscriber | A instância do assinante. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | text | Ponteiro para o texto da legenda. | | is_final | Indica se uma legenda está concluída. |
on_connected
| void(* on_connected) (otc_assinante *assinante, void *dados_do_usuário, const otc_stream *transmissão) |
É chamado quando a instância se conecta com sucesso ao stream e começa a reproduzir a mídia.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | stream | O fluxo do assinante. A instância não sobrevive à execução da função de retorno de chamada. Certifique-se de fazer uma cópia caso essa instância seja usada posteriormente. |
on_disconnected
| void(* on_disconnected) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando o fluxo do assinante é interrompido. Esse callback só é invocado se o recurso de reconexão estiver habilitado, sendo seguido pelo callback on_reconnected caso a reconexão seja bem-sucedida. Interrupções normais, quando a reconexão não está habilitada, são notificadas por meio do callback on_error.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |
on_error
| void(* on_error) (otc_assinante *assinante, void *dados_do_usuário, const char *error_string, enum otc_subscriber_error_code erro) |
É chamado quando o assinante falha.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | error_string | Uma string contendo a mensagem de erro. | | error | Valor da enumeração do código de erro. |
on_media_link_stats
| void(* on_media_link_stats) (otc_assinante *assinante, void *dados_do_usuário, const struct otc_subscriber_media_link_stats *media_link_stats) |
É chamado periodicamente para relatar as estatísticas de links de mídia do assinante.
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 : | | | | --- | --- | | subscriber | 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_assinante *assinante, void *dados_do_usuário, const struct otc_subscriber_media_link_stats *media_link_stats, enumeração otc_network_reason motivo) |
Essa função de retorno é chamada quando é detectada uma alteração nas condições de rede do assinante ou do editor remoto.
A implementação atual aciona essa chamada de retorno somente quando a condição da rede muda em qualquer um dos lados.
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 assinante. As Applications 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 : | | | | --- | --- | | subscriber | A instância do assinante que aciona o evento. | | user_data | Ponteiro opcional de dados do usuário passado ao registrar o callback. | | media_link_stats | As estatísticas do link de mídia. | | reason | O motivo da mudança na condição da rede. |
on_reconnected
| void(* on_reconnected) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando a transmissão do assinante é retomada.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |
on_render_frame
| void(* on_render_frame) (otc_assinante *assinante, void *dados_do_usuário, const otc_video_frame *quadro) |
É chamado quando um novo quadro de vídeo para o assinante está pronto para ser renderizado. 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 : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | frame | O quadro de vídeo. |
on_video_data_received
| void(* on_video_data_received) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando um assinante recebe dados de vídeo pela primeira vez.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. |
on_video_desativar_aviso
| void(* on_video_disable_warning) (otc_assinante *assinante, void *dados_do_usuário) |
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão se deteriorou e que o vídeo será desativado caso a qualidade se deteriore ainda mais.
Parâmetros : | | | | --- | --- | | subscriber | 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_assinante *assinante, void *dados_do_usuário) |
É chamado quando o OpenTok Media Router determina que a qualidade da transmissão melhorou a ponto de a desativação do vídeo não representar um risco imediato.
Parâmetros : | | | | --- | --- | | subscriber | 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_assinante *assinante, void *dados_do_usuário, enumeração otc_video_reason motivo) |
É chamado quando o vídeo do assinante é desativado.
Parâmetros : | | | | --- | --- | | subscriber | 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_assinante *assinante, void *dados_do_usuário, enumeração otc_video_reason motivo) |
É chamado quando o vídeo do assinante é ativado.
Parâmetros : | | | | --- | --- | | subscriber | 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) (otc_assinante *assinante, void *dados_do_usuário, const struct otc_subscriber_video_stats *estatísticas, enumeração otc_video_reason motivo) |
Essa função de retorno de chamada é acionada quando um evento relacionado à qualidade é detectado no lado do assinante.
A implementação atual só o aciona em caso de interrupção do vídeo (pausa), mudança de codec ou mudança de resolução. Os congelamentos são rastreados internamente e apresentados por meio de estatísticas, mas nenhuma chamada de retorno é acionada para cada congelamento devido à sua curta duração e alta frequência potencial. Uma chamada de retorno é acionada apenas quando uma pausa é detectada (por exemplo, nenhum quadro renderizado por mais de 5 segundos), pois isso representa uma interrupção mais significativa na reprodução de mídia.
O reason O parâmetro indica a causa do evento e é considerado de acordo com a seguinte ordem de prioridade: OTC_VIDEO_REASON_VIDEO_INTERRUPT, OTC_VIDEO_REASON_CODEC_CHANGE, OTC_VIDEO_REASON_RESOLUTION_CHANGE.
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, este evento fornece informações de diagnóstico sobre as causas da degradação da qualidade, tais como travamentos, contagem de pausas e estatísticas atualizadas.
Essa função de retorno de chamada leva em consideração todos os tipos de interrupções de vídeo com duração de 5 segundos ou mais. Isso significa que, no caso específico de fallback de áudio ou alterações nas propriedades do stream (como a desativação do vídeo), além de acionar o on_video_disabled e on_video_enabled callbacks: a interrupção também é registrada como uma pausa nas estatísticas do vídeo, e a qualidade da interrupção do vídeo correspondente
Os aplicativos podem usar essa função de retorno de chamada para responder a problemas de qualidade, como atualizar a interface do usuário, registrar dados de telemetria ou notificar o usuário.
Parâmetros
: | | |
| --- | --- |
| subscriber | A instância do assinante que aciona o evento. |
| stats | As estatísticas de vídeo mais recentes do assinante no momento do evento. |
| user_data | Ponteiro opcional de dados do usuário passado ao registrar o callback. |
| motivo | O motivo do evento de qualidade, com base em otc_video_reason. |
on_video_stats
| void(* on_video_stats) (otc_assinante *assinante, void *dados_do_usuário, struct otc_subscriber_video_stats video_stats) |
É chamado periodicamente para relatar as estatísticas de vídeo do assinante.
Parâmetros : | | | | --- | --- | | subscriber | A instância que está invocando esta chamada. | | user_data | Ponteiro para os dados personalizados do usuário vinculados a esta estrutura. | | video_stats | Um ponteiro para a estrutura de estatísticas do vídeo. |
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 |
Esse membro da estrutura pode apontar para dados relacionados ao assinante dos quais o desenvolvedor possa precisar.