다음을 통해 공유


DMO 최소 요구 사항

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

모든 DMO는 다음과 같은 최소 요구 사항을 충족해야 합니다.

  • 집계를 지원해야 합니다.
  • IMediaObject 인터페이스를 노출해야 합니다.
  • 스레딩 모델은 '둘 다'여야 합니다. DMO는 자유 스레드 환경에서 올바르게 작동해야 합니다.

오디오 효과 DMO는 DirectMusic 및 DirectSound에서 사용하기 위해 IMediaObjectInPlace 인터페이스를 지원해야 합니다.

다음 인터페이스는 다른 곳에 설명되어 있지만 많은 DMO에 유용합니다. 그러나 필수는 아닙니다.

  • ISpecifyPropertyPages, IPropertyPage: 이러한 인터페이스를 사용하면 사용자가 속성을 설정할 수 있도록 DMO에서 속성 페이지를 제공할 수 있습니다.
  • IPersistStream: 이 인터페이스를 사용하면 DMO가 해당 상태를 영구 스토리지에 저장할 수 있습니다.
  • IAMStreamConfig, IAMVideoCompression: 이러한 인터페이스를 사용하면 클라이언트가 인코더의 출력 형식 및 압축 설정을 구성할 수 있습니다. (이러한 두 인터페이스는 DirectShow API의 일부이지만 DMO에도 권장됩니다.)

DMO 작성