Поделиться через


Минимальные требования DMO

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Каждое DMO должно соответствовать следующим минимальным требованиям:

  • Он должен поддерживать агрегирование.
  • Он должен предоставлять интерфейс IMediaObject .
  • Потоковая модель должна быть "both". МДО должны правильно работать в среде со свободными потоками.

Объекты управления звуковыми эффектами должны поддерживать интерфейс IMediaObjectInPlace для использования в DirectMusic и DirectSound.

Следующие интерфейсы задокументированы в других местах, но они полезны для многих МДО. Однако они не являются обязательными.

  • ISpecifyPropertyPages, IPropertyPage: эти интерфейсы позволяют DMO предоставлять страницу свойств для пользователя, чтобы задать свойства.
  • IPersistStream: этот интерфейс позволяет DMO сохранять свое состояние в постоянном хранилище.
  • IAMStreamConfig, IAMVideoCompression. Эти интерфейсы позволяют клиенту настраивать формат вывода кодировщика и параметры сжатия. (Эти два интерфейса являются частью API DirectShow, но также рекомендуются для dmos.)

Создание DMO