DirectShow DirectShow 레퍼런스 DirectShow 의 필터 DMO 래퍼 필터 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
DMO 래퍼 필터는, Microsoft® DirectShow® 애플리케이션이 필터 그래프내에서 DirectX Media Object (DMO)를 사용할 수 있도록(듯이) 한다. 이 필터는 DMO 를 랩 해, DMO 와의 데이터의 교환 등, DMO 의 사용에 관한 모든 처리를 취급한다. 또, 이 필터는 DMO 를 집성 하기 위한(해), 애플리케이션은 DMO 가 공개하는 모든 COM 인터페이스를 필터에 문의할 수가 있다.
제한 사항
현재의 DMO 래퍼 처리에는 이하의 제한이 있다.
필터 인터페이스 | IBaseFilter ,IDMOWrapperFilter ,IPersistStream |
입력 핀 미디어 타입 | 「주의」를 참조. |
입력 핀인타페이스 | IMemInputPin ,IPin ,IQualityControl |
출력 핀 미디어 타입 | 「주의」를 참조. |
출력 핀인타페이스 | IAMStreamConfig ,IAMVideoCompression ,IMediaPosition ,IMediaSeeking ,IPin ,IQualityControl |
필터 CLSID | CLSID_DMOWrapperFilter |
프로퍼티 페이지 CLSID | 프로퍼티 페이지 없음 |
실행 모듈 | Qasf.dll |
메리트 | 「주의」를 참조. |
필터 카테고리 | 「주의」를 참조. |
주의
핀 : DMO 의 각 입력 스트림에 대해서, 이 필터는 대응하는 입력 핀을 생성 한다. 각 출력 스트림에 대해서는, 대응하는 출력 핀을 생성 한다. 각 핀이 지원 하는 미디어 타입은, DMO 에 따라서 다르다.
엔코더 인터페이스 : DMO 가 비디오 엔코더 또는 오디오 엔코더인 경우, 출력 핀은 IAMStreamConfig 인터페이스를 공개한다. DMO 가 비디오 엔코더인 경우, 출력 핀은 IAMVideoCompression 인터페이스도 공개한다. 어느 쪽의 경우도, DMO 가 인터페이스를 지원 하는 경우, 핀은 DMO 에 위임한다. 지원 하고 있지 않는 경우, 핀은 독자적인 처리을 제공한다.
스트리밍 : 이 필터는,IMemInputPin 인터페이스를 사용해 모든 스트리밍을 처리한다. IAsyncReader 접속은 지원 하고 있지 않다. 이 필터는, 스트림 종료 통지를 포함해 업 스트림으로부터 데이터를 받았을 경우에만, DMO 로 IMediaObject::ProcessOutput 를 호출한다. 이 때문에, 제로 입력 스트림의 DMO 는 지원 하지 않는다.
시크 : 모든 시크 요구는, DMO 래퍼의 최초의 입력 핀을 개입시켜 업 스트림 필터에게 건네진다. 복수 출력의 DMO 의 경우, 이것은, 애플리케이션이 그래프를 시크 했을 때에, 업 스트림 필터가 복수의 시크 요구를 받아들일 가능성이 있는 것을 의미한다.
메리트 : DirectShow 은, 모든 DMO 에 기정의 메리트값 MERIT_NORMAL + 0x800 를 할당한다. 이 값은, MERIT_NORMAL 와 MERIT_PREFERRED 의 사이이다. 보통, 디코더 필터의 메리트값은 MERIT_NORMAL 이다. 따라서, 필터 그래프 매니저는 보통, 디코더 필터 대신에 DMO 디코더를 선택한다. 기정의 메리트값을 오버라이드(override) 하려면 , HKEY_CLASSES_ROOT\CLSID 내의 DMO 의 레지스트리 키에, 레지스트리 엔트리를 추가한다. 메리트를 지정하는 값을 가지는 Merit 라는 이름의 DWORD 값을 인클루드 한다.
카테고리 : DMO 래퍼 필터는, 단독으로는 어느 카테고리에도 표시되지 않는다. DMO 를 랩 하면, DMO 의 카테고리에 대응한 DirectShow 카테고리로, DMO 의 이름으로 표시된다.