Partilhar via


Classe CBaseVideoRenderer

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

hierarquia de classe cbasevideorenderer

A CBaseVideoRenderer classe base é usada para criar filtros de renderizador de vídeo.

Membros de Dados Protegidos Descrição
m_bDrawLateFrames Sinalizador para sinalizar que nenhum quadro deve ser removido. Somente depuração. Isso destrói a sincronização.
m_bSupplierHandlingQuality TRUE indica que as mensagens de controle de qualidade estão sendo tratadas. Isso permite que o renderizador saiba esperar até o mais tarde possível para soltar quadros em si e exibir o próximo quadro muito cedo depois que o fornecedor tiver descartado um quadro.
m_cFramesDrawn Número total de quadros que foram desenhados desde o início do streaming.
m_cFramesDropped Quadros cumulativos que foram removidos no renderizador desde o início do streaming. Quadros também podem ser descartados upstream sem que o renderizador os reconheça.
m_idDecision MSR_id para o código de decisão de ShouldDrawSampleNow.
m_idDuration MSR_id durante um quadro.
m_idFrameAccuracy Identificador de log de desempenho para o tempo em milissegundos em que o quadro estava atrasado.
m_idFrameAvg Identificador de log de desempenho para o tempo médio de quadro usado para sincronização e controle de qualidade.
m_idQualityRate MSR_id para a taxa de qualidade solicitada.
m_idQualityTime MSR_id para o tempo de qualidade solicitado.
m_idRenderAvg Identificador de log de desempenho para o tempo médio do renderizador registrado.
m_idSchLateTime MSR_id quanto tempo o quadro estava quando agendado.
m_idSendQuality MSR_id para cronometrar as notificações (não usadas).
m_idTimeStamp MSR_id para um carimbo de data/hora de quadro.
m_idWait Identificador de log de desempenho para o tempo de espera registrado (não utilizado).
m_idWaitReal Identificador de log de desempenho para o tempo de espera verdadeiro.
m_iSumFrameTime Soma dos tempos de interframe; necessário para a página de propriedades.
m_iSumSqAcc Soma dos quadrados das precisões (em milissegundos) necessárias para a página de propriedades.
m_iSumSqFrameTime Soma dos quadrados dos tempos de interframe; necessário para a página de propriedades.
m_iTotAcc Soma das precisões (em milissegundos) necessárias para a página de propriedades.
m_nNormal Número de quadros consecutivos desenhados em seu horário agendado. Um número negativo indica que um quadro acabou de ser descartado pelo renderizador.
m_trDuration Duração do último quadro (diferença entre os horários de início e término).
m_trEarliness Quão cedo um quadro pode ser reproduzido quando um quadro acaba de ser descartado.
m_trFrame Tempo registrado mais recentemente entre os quadros. Usado em medidas estatísticas.
m_trFrameAvg Tempo médio entre períodos em unidades de tempo de referência.
m_trLastDraw Hora do quadro anterior. Usado para referências de tempo entre períodos.
m_trLate Quantidade de tempo em que o quadro atual estava atrasado. Usado em medidas estatísticas.
m_trRenderAvg Tempo que os quadros estão levando para executar a transferência de bloco de bits.
m_trRenderLast Hora da última transferência de bloco de bits do quadro.
m_trRenderStart Hora em que a transferência de bloco de bits foi iniciada. Usado para obter m_trRenderLast.
m_trThrottle Período a ser inserido após a renderização de cada quadro, normalmente usado quando a qualidade do áudio foi aumentada e o desempenho do vídeo deve ser reduzido para permitir isso.
m_trWaitAvg Tempo médio de espera em unidades de tempo de referência.
m_tStreamingStart Usado para estatísticas de página de propriedades. Representa a hora de início do processo de streaming atual ou do processo de streaming anterior, se não estiver sendo transmitido no momento.
Funções de membro Descrição
Cbasevideorenderer Constrói um objeto CBaseVideoRenderer .
GetStdDev Estima o desvio padrão em milissegundos entre quando cada quadro é devido e quando ele é realmente renderizado, para estatísticas por quadro.
PreparePerformanceData Define os valores m_trLate e m_trFrame do quadro atual.
ThrottleWait Insere um período de espera após cada quadro.
Funções de membro substituíveis Descrição
Joinfiltergraph Envia um evento EC_WINDOW_DESTROYED quando o filtro é removido do grafo de filtro.
OnDirectRender Coleta informações de tempo que controlam a sincronização e o controle de qualidade.
OnRenderEnd Registra informações para controle de qualidade e sincronização.
OnRenderStart Registra informações para controle de qualidade e sincronização.
OnStartStreaming Redefine todas as vezes que controlam o streaming.
OnStopStreaming Chamado no final do streaming para corrigir os horários do relatório da página de propriedades.
OnWaitEnd Chamado quando um tempo de espera termina. Somente registro em log de desempenho.
OnWaitStart Atualizações tempo gasto esperando e não esperando. Somente registro em log de desempenho.
RecordFrameLateness Registra o quanto a renderização ocorreu e coleta estatísticas para a página de propriedades.
ResetStreamingTimes Redefine todas as vezes que controlam o streaming.
ScheduleSample Configura um link de aconselhamento com o relógio.
SendQuality Envia uma mensagem de qualidade para indicar o que o fornecedor deve fazer sobre a qualidade.
ShouldDrawSampleNow Determina se o vídeo deve ser desenhado quando for devido, sem definir um link de aconselhamento de temporizador com o relógio.
Métodos IQualProp Descrição
get_Avg FrameRate Recupera a taxa média de quadros desde que o streaming começou em quadros por 100 segundos.
get_AvgSyncOffset Recupera a média do tempo em milissegundos entre quando cada quadro foi devido e quando ele foi realmente renderizado. Isso se aplica a todos os quadros desde que o streaming foi iniciado.
get_DevSyncOffset Recupera o desvio padrão do tempo em milissegundos entre quando cada quadro era devido e quando ele foi realmente renderizado para todos os quadros desde que o streaming começou.
get_FramesDrawn Recupera o número de quadros desenhados desde o início do streaming.
get_FramesDroppedInRenderer Recupera o número de quadros removidos pelo renderizador. Quadros também podem ser descartados upstream.
get_Jitter Recupera o desvio padrão do tempo em milissegundos entre cada quadro e o próximo. Isso se aplica a todos os quadros desde que o streaming foi iniciado.
Métodos IQualityControl Descrição
Notificar Notifica o destinatário de que uma alteração de qualidade é solicitada.
Setsink Define o objeto IQualityControl que receberá mensagens de qualidade.