Partilhar via


Requisitos mínimos DMO

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]

Cada DMO deve atender aos seguintes requisitos mínimos:

  • Deve apoiar a agregação.
  • Ele deve expor o IMediaObject interface.
  • O modelo de threading deve ser 'ambos'. DMOs devem funcionar corretamente em um ambiente free-threaded.

Os DMOs de efeito de áudio devem suportar a interfaceIMediaObjectInPlace, para uso em DirectMusic e DirectSound.

As interfaces a seguir estão documentadas em outros lugares, mas são úteis para muitos DMOs. No entanto, não são obrigatórios.

  • ISpecifyPropertyPages, IPropertyPage: Essas interfaces permitem que um DMO forneça uma página de propriedades, para que o usuário defina propriedades.
  • IPersistStream: Esta interface permite que o DMO salve seu estado no armazenamento persistente.
  • IAMStreamConfig, IAMVideoCompression: Essas interfaces permitem que um cliente configure o formato de saída e as configurações de compactação de um codificador. (Essas duas interfaces fazem parte da API do DirectShow, mas também são recomendadas para DMOs.)

Escrevendo um DMO