Freigeben über


DMO-Mindestanforderungen

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Jede DMO sollte die folgenden Mindestanforderungen erfüllen:

  • Sie muss die Aggregation unterstützen.
  • Sie muss die IMediaObject-Schnittstelle verfügbar machen.
  • Das Threadingmodell muss "beide" sein. DMOs müssen in einer Freethreadumgebung ordnungsgemäß funktionieren.

Audioeffekt-DMOs sollten die IMediaObjectInPlace-Schnittstelle für die Verwendung in DirectMusic und DirectSound unterstützen.

Die folgenden Schnittstellen sind an anderer Stelle dokumentiert, sind aber für viele DMOs nützlich. Sie sind jedoch nicht erforderlich.

  • ISpecifyPropertyPages, IPropertyPage: Diese Schnittstellen ermöglichen es einem DMO, eine Eigenschaftenseite bereitzustellen, damit der Benutzer Eigenschaften festlegen kann.
  • IPersistStream: Diese Schnittstelle ermöglicht es dem DMO, seinen Zustand in persistentem Speicher zu speichern.
  • IAMStreamConfig, IAMVideoCompression: Mit diesen Schnittstellen kann ein Client die Ausgabeformat- und Komprimierungseinstellungen eines Encoders konfigurieren. (Diese beiden Schnittstellen sind Teil der DirectShow-API, werden aber auch für DMOs empfohlen.)

Schreiben einer DMO