Compartilhar via


Filtro do Renderizador de Tela Inteira

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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.]

O filtro Renderizador de Tela Inteira fornece renderização de vídeo em tela inteira em hardware mais antigo. As placas de vídeo mais recentes podem ampliar o vídeo com eficiência suficiente para que o Renderizador de Tela Inteira não seja necessário. Portanto, o uso desse filtro agora foi preterido.

Não adicione manualmente esse filtro ao grafo de filtro. Se um aplicativo chamar IVideoWindow::p ut_FullScreenMode, o Gerenciador de Grafo de Filtro selecionará automaticamente o renderizador de vídeo apropriado para o modo de tela inteira. A seleção é transparente para o aplicativo. Com as placas de vídeo atuais, é improvável que o Gerenciador de Grafo de Filtro selecione o Renderizador de Tela Inteira.

Rótulo Valor
Interfaces de filtro IBaseFilter, IFullScreenVideoEx, IMediaPosition, IMediaSeeking, IQualityControl, IQualProp
Tipos de mídia de pino de entrada MEDIATYPE_Video, MEDIASUBTYPE_Null
Interfaces de pino de entrada IMemInputPin, IPin, IQualityControl
Tipos de mídia de pino de saída Não aplicável
Interfaces de pino de saída Não aplicável
Filtrar CLSID CLSID_ModexRenderer
CLSID da página de propriedades CLSID_ModexProperties
Executável quartz.dll
Mérito MERIT_UNLIKELY
Categoria de Filtro CLSID_LegacyAmFilterCategory

 

Comentários

O Renderizador de Tela Inteira dá suporte a um conjunto estático de modos de exibição. No entanto, o vídeo cartão no sistema do usuário pode não dar suporte a todos os modos. Para determinar se o cartão dá suporte a um modo específico, chame o método IFullScreenVideoEx::IsModeAvailable. Você também pode desabilitar um modo de exibição específico programaticamente, chamando iFullScreenVideoEx::SetEnabled. Atualmente, o Renderizador de Tela Inteira dá suporte aos modos de exibição mostrados na tabela a seguir:

Modo Largura Altura Profundidade de bits
0 320 200 16
1 320 200 8
2 320 240 16
3 320 240 8
4 640 400 16
5 640 400 8
6 640 480 16
7 640 480 8
8 800 600 16
9 800 600 8
10 1024 768 16
11 1024 768 8
12 1152 864 16
13 1152 864 8
14 1280 1024 16
15 1280 1024 8

 

(Todos os modos são RGB.) No entanto, essa lista está sujeita a alterações. Use o método IFullScreenVideoEx::GetModeInfo para obter informações sobre os modos. O Renderizador de Tela Inteira sempre escolhe o modo de resolução mais baixa disponível, limitado por uma propriedade chamada fator de clipe, que determina quanto do vídeo o Renderizador de Tela Inteira tem permissão para recortar. Para obter mais informações, consulte IFullScreenVideoEx::GetClipFactor.

Quando o aplicativo executa ou pausa o grafo de filtro, o Renderizador de Tela Inteira alterna para o modo de exibição escolhido. Quando o grafo é interrompido, o Renderizador de Tela Inteira restaura o modo de exibição original.

O Renderizador de Tela Inteira só pode funcionar como a janela ativa em primeiro plano. Se o usuário alternar para outro aplicativo, o Renderizador de Tela Inteira ocultará o vídeo minimizando ou ocultando a janela de vídeo.

Filtros do DirectShow