Share via


Configuration minimale requise pour DMO

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Chaque DMO doit répondre aux exigences minimales suivantes :

  • Il doit prendre en charge l’agrégation.
  • Il doit exposer l’interface IMediaObject .
  • Le modèle de thread doit être « both ». Les DMO doivent fonctionner correctement dans un environnement à thread libre.

Les DMO d’effet audio doivent prendre en charge l’interface IMediaObjectInPlace , pour une utilisation dans DirectMusic et DirectSound.

Les interfaces suivantes sont documentées ailleurs, mais sont utiles pour de nombreux DMO. Elles ne sont toutefois pas obligatoires.

  • ISpecifyPropertyPages, IPropertyPage : ces interfaces permettent à un DMO de fournir une page de propriétés, afin que l’utilisateur puisse définir des propriétés.
  • IPersistStream : cette interface permet au DMO d’enregistrer son état dans le stockage persistant.
  • IAMStreamConfig, IAMVideoCompression : ces interfaces permettent à un client de configurer le format de sortie et les paramètres de compression d’un encodeur. (Ces deux interfaces font partie de l’API DirectShow, mais sont également recommandées pour les DMO.)

Écriture d’un DMO