DirectShow DirectShow 의 사용법 DirectShow 필터의 개발 DirectShow 와 COM DirectShow 필터의 등록 방법 필터 등록의 가이드 라인   [목차열람] [주소복사] [슬롯비우기]
필터 등록의 가이드 라인
 
Microsoft DirectX 9.0

필터 등록의 가이드 라인

필터 등록 정보는, 필터 그래프 매니저가인텔리전트 접속중에 어떻게 동작하는지를 지정한다. 따라서, 이 정보는 필터를 사용하는 애플리케이션 뿐만이 아니라, DirectShow 용으로 생성 된 모든 애플리케이션에 영향을 준다. 다음의 가이드 라인에 따라, 필터가 올바르게 동작할지 어떨지를 확인하는 것.

  1. 레지스트리에 필터 데이터가 필요한가 어떤가. 많은 커스텀 필터에서는, 필터 맵퍼 또는 System Device Enumerator 가 필터를 인식할 수 있도록(듯이) 할 이유는 없다. DLL 를 등록하고 있는 한, 애플리케이션은 CoCreateInstance 를 사용해 필터를 생성 할 수 있다. 그 경우, 팩토리 템플릿으로부터 AMOVIESETUP_FILTER 구조체를 생략 한다. (1 개 무례한 점은, 필터가 GraphEdit 로 인식되지 않는 것이다. 이 점을 회피하기 위해(때문에),IFilterMapper2::CreateCategory 메서드를 사용해 사적인 "Testing" 카테고리를 생성 할 수 있다. 이 처리는 디버그 빌드에서만 실시하는 것. )
  2. 올바른 필터 카테고리를 선택한다. 디폴트의 진흙 irectShow Filters?카테고리는 범용 필터용이다. 필요에 따라서, 한층 더 한정적인 카테고리에 필터를 등록하는 것. IFilterMapper2 가 필터를 검색하는 경우, 메리트값이 MERIT_DO_NOT_USE 이하인 카테고리는 무시한다. 보통의 재생전용이 아닌 카테고리는 메리트값이 낮다.
  3. 핀의 AMOVIESETUP_MEDIATYPE 정보에 MEDIATYPE_None, MEDIASUBTYPE_None, 또는 GUID_NULL 를 지정하지 않는 것. IFilterMapper2 는 이러한 값을 와일드 카드로서 취급하기 (위해)때문에, 그래프 생성 처리의 속도가 저하하는 일이 있다.
  4. 가능한 한 낮은 메리트값을 선택한다. 다음에 가이드 라인을 나타낸다.
    필터의 타입 추천 메리트
    디폴트 렌더러. MERIT_PREFERRED. 다만, 표준 미디어 타입의 경우, 커스텀 렌더러는 디폴트로 하지 않는 것.
    비디폴트 렌더러. MERIT_DO_NOT_USE 또는 MERIT_UNLIKELY.
    Mux. MERIT_DO_NOT_USE.
    디코더. MERIT_NORMAL.
    스플리터, 파서. MERIT_NORMAL 이하.
    특정 용도의 필터. 애플리케이션으로 직접 생성 되는 필터. MERIT_DO_NOT_USE.
    캡춰. MERIT_DO_NOT_USE.
    "폴 백" 필터. 예를 들어,색공간변환 필터 . MERIT_UNLIKELY.

    필터에 메리트값 MERIT_DO_NOT_USE 를 지정하는 경우, 우선 이 정보를 등록할 필요가 있을지 어떨지를 검토하는 것. (항목 1 을 참조할것. )

  5. "DirectShow Filters" 카테고리에 24 비트 RGB 를 받아들이는 필터를 등록하지 않는 것. 필터가 색공간변환 필터와 경합 한다.
↑TOP