DMO Mindestanforderungen

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 DirectObject 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 im persistenten Speicher zu speichern.
  • IAMStreamConfig, IAMVideoCompression:Diese Schnittstellen ermöglichen es einem Client, das Ausgabeformat und die Komprimierungseinstellungen eines Encoders zu konfigurieren. (Diese beiden Schnittstellen sind Teil der DirectShow-API, werden aber auch für DMOs empfohlen.)

Schreiben eines DMO