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.)