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.]
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. |