DDO의 이점
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
DDO는 다음과 같은 이점을 제공합니다.
- 일반적으로 DirectShow 필터보다 작고 더 간단합니다. 이러한 필터는 더 적은 기능을 지원하기 때문입니다.
- 필터 그래프가 필요하지 않으므로 DirectShow 필터보다 더 유연합니다. 동기화, 지능형 연결, 데이터 흐름 자동 처리 및 스레드 관리와 같이 DirectShow에서 제공하는 서비스가 필요할 때 DirectShow와 함께 사용할 수 있습니다. 이러한 서비스가 필요하지 않은 클라이언트는 DDO에 직접 액세스할 수 있습니다.
- DDO는 항상 동기 데이터 처리를 수행하므로 필터를 작성할 때 고려해야 하는 많은 스레딩 문제가 제거됩니다.
- 기존 ACM 및 VCM 코덱과 달리 DDO는 COM(구성 요소 개체 모델)을 기반으로 하므로 QueryInterface를 통해 확장할 수 있습니다.
- DDO는 ACM 또는 VCM 코덱보다 더 일반화된 스트리밍 모델을 지원합니다. DirectShow 필터와 마찬가지로 DDO는 여러 입력 및 여러 출력을 지원할 수 있습니다.
이러한 이유로 DDO는 이제 인코더, 디코더 및 오디오 효과를 작성하기 위한 솔루션으로 권장됩니다. 애플리케이션의 요구 사항에 따라 다른 많은 시나리오도 가능합니다.
DDO와 DirectShow 필터의 차이점
DirectShow 필터는 DirectShow 필터 그래프 외부에서 작동할 수 없습니다. DirectShow에서 Filter Graph Manager는 애플리케이션과 필터 간에 중재합니다. DirectShow 필터는 다음을 포함하여 데이터를 스트리밍하는 데 필요한 대부분의 작업을 수행합니다.
- 버퍼 할당.
- 다른 필터에 대한 미디어 유형 및 연결 협상
- 필터 그래프를 통해 데이터 푸시
- Filter Graph Manager에 이벤트 보내기
- 여러 스레드 동기화.
반면, DMO는 이러한 작업을 수행하지 않습니다. 대신 이러한 종류의 작업은 DMO를 사용하는 클라이언트의 책임입니다. 클라이언트는 버퍼를 할당하고, 데이터로 채우고, DMO에 전달합니다. DMO는 데이터를 처리하고 클라이언트는 결과 출력 버퍼를 검색합니다.
관련 항목