다음을 통해 공유


DDO의 이점

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

DDO는 다음과 같은 이점을 제공합니다.

  • 일반적으로 DirectShow 필터보다 작고 간단합니다. 더 적은 기능을 지원하기 때문입니다.
  • 필터 그래프가 필요하지 않으므로 DirectShow 필터보다 더 유연합니다. DirectShow에서 제공하는 서비스(예: 동기화, 지능형 연결, 데이터 흐름 자동 처리 및 스레드 관리)가 필요할 때 DirectShow와 함께 사용할 수 있습니다. 이러한 서비스가 필요하지 않은 클라이언트는 DMO에 직접 액세스할 수 있습니다.
  • DDO는 항상 동기 데이터 처리를 수행하므로 필터를 작성할 때 고려해야 하는 많은 스레딩 문제가 제거됩니다.
  • 기존 ACM 및 VCM 코덱과 달리 DMO는 COM(구성 요소 개체 모델)을 기반으로 하므로 QueryInterface통해 확장할 수 있습니다.
  • DMO는 ACM 또는 VCM 코덱보다 더 일반화된 스트리밍 모델을 지원합니다. DirectShow 필터와 마찬가지로 DMO는 여러 입력 및 여러 출력을 지원할 수 있습니다.

이러한 이유로 DDO는 이제 인코더, 디코더 및 오디오 효과를 작성하기 위한 솔루션으로 권장됩니다. 애플리케이션의 요구 사항에 따라 다른 많은 시나리오도 가능합니다.

DDO와 DirectShow 필터의 차이점

DirectShow 필터는 DirectShow 필터 그래프 외부에서 작동할 수 없습니다. DirectShow에서 Filter Graph Manager는 애플리케이션과 필터 간에 중재합니다. DirectShow 필터는 다음을 포함하여 데이터를 스트리밍하는 데 필요한 대부분의 작업을 수행합니다.

  • 버퍼 할당
  • 다른 필터에 대한 미디어 유형 및 연결 협상
  • 필터 그래프를 통해 데이터 푸시
  • Filter Graph Manager에 이벤트 보내기
  • 여러 스레드 동기화

반면, DMO는 이러한 작업을 수행하지 않습니다. 대신 이러한 종류의 작업은 DMO를 사용하는 클라이언트의 책임입니다. 클라이언트는 버퍼를 할당하고, 데이터로 채우고, DMO에 전달합니다. DMO는 데이터를 처리하고 클라이언트는 결과 출력 버퍼를 검색합니다.

DDO 대한