Modo de Reprodução Sem Renderização da VMR (Alocador Personalizado-Apresentadores)

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

No modo de reprodução sem renderização, a VMR não executa a renderização. Em vez disso, ele usa um alocador-apresentador personalizado fornecido pelo aplicativo. Esse modo é útil para jogos e outros tipos de aplicativos que têm efeitos de vídeo sofisticados. O modo de reprodução sem renderização permite que os aplicativos criem e controlem sua própria superfície DirectDraw (VMR-7) ou superfície Direct3D (VMR-9) e acessem os bits de vídeo no momento da apresentação.

No modo sem renderização, a VMR-9 não carrega automaticamente seu componente do mixer.

No modo de reprodução sem renderização, o aplicativo executa as seguintes tarefas:

  • Gerencia a janela de reprodução.
  • Aloca o objeto DirectDraw ou Direct3D e o buffer de quadro final.
  • Notifica o restante do sistema de reprodução do objeto que está sendo usado.
  • Apresenta o buffer de quadro no momento correto.
  • Lida com todas as alterações no modo de resolução, monitora alterações e perdas de superfície. Ele deve aconselhar o restante do sistema de reprodução desses eventos.

A VMR faz o seguinte:

  • Manipula todo o tempo relacionado à apresentação do quadro de vídeo.
  • Fornece informações de controle de qualidade para o aplicativo e o restante do sistema de reprodução.
  • Apresenta uma interface consistente para os componentes upstream do sistema de reprodução, que não estão cientes de que o aplicativo está fornecendo a alocação do buffer de quadro e executando a renderização.
  • Fornece qualquer combinação de fluxos de vídeo que podem ser necessários antes da renderização.

Como a desinterlacização é executada pelo mixer, o alocador-apresentador sempre recebeu quadros desinterlaceados. Para obter mais informações, consulte Configurando preferências de desinterlace.

Para obter mais informações sobre como fornecer um alocador-apresentador personalizado, consulte os seguintes tópicos: