DirectShow DirectShow 레퍼런스 인터페이스 ICodecAPI   [목차열람] [주소복사] [슬롯비우기]
ICodecAPI 인터페이스
 
Microsoft DirectX 9.0

ICodecAPI 인터페이스

ICodecAPI 인터페이스는, 애플리케이션이나 드라이버가 써드파티제의 하드웨어 엔코더 또는 소프트웨어 엔코더와 통신해 인터페이스를 처리 하는 표준의 방법을 정의한다. 이 인터페이스의 사용법의 더 자세한 정보는, 「엔코더 API 」를 참조할것.

주 : 이 인터페이스는,IEncoderAPI 인터페이스에 대신하는 것이다. IEncoderAPI 인터페이스의 사용은 피하는 것.

엔코더는, 시스템 레지스트리에 프로파일 정보나 능력 정보를 저장 하면 상정된다. 애플리케이션은 이 인터페이스를 사용해, 장치 열거중에 장치를 조회할 수 있다. 디폴트의 프로파일은, HLKM\Software\Classes\CLSID\<category>\Profiles 에 저장 되고 있다. 각 프로파일은 레지스트리 키로, 그 디폴트 설정은 프로파일의 텍스트의 설명이다. 값은 각각, GUID 명과 그 뒤로 이어 수치의 GUID 값을 포함한 캐릭터 라인의 값을 가지고 있다. 이하에 예를 나타낸다.

  HLKM\Software\Classes\CLSID\<category>\Profiles\DVD
    default "HQ DVD"
    REG_SZ {659e5ecc-b1b9-4d29-8304-86911fb33165} = "0"
    REG_SZ {3c2009e0-7598-4454-86ba-de8edc342645} = "1234"

여기서 {...} (은)는, 애플리케이션이 자신의 사용자 인터페이스에 맵 할 수 있는 프로퍼티 GUID 이다. 일련의 표준 프로파일의 정의에 대해서는, 현재 검토중이다.

디폴트의 CODEC 기능은, HLKM\Software\Classes\CLSID\<category>\Instance\<Filter CLSID>\Capabilities 에 저장 되고 있다. 값은 각각, GUID 명과 그 뒤로 이어 수치의 GUID 값을 포함한 캐릭터 라인의 값을 가지고 있다. 이하에 예를 나타낸다.

HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities
     default "My DVD encoder"
     REG_SZ_MULTI {659e5ecc-b1b9-4d29-8304-86911fb33165}

여기서 {...} (은)는, 애플리케이션이 자신의 사용자 인터페이스에 맵 할 수 있는 프로퍼티 GUID 이다.

ICodecAPI 인터페이스는,IUnknown 로부터 계승하는 메서드 이외에 이하의 메서드도 공개한다.

메서드 설명
GetAllSettings 현재의 엔코더 설정을 스트림에 보존한다.
GetDefaultValue 인수에 디폴트값이 있는 경우는 그 디폴트값을 얻어온다.
GetParameterRange 인수의 유효한 값의 범위를 돌려준다.
GetParameterValues 지정된 인수가 지원 하는 값의 일람을 돌려준다.
GetValue 지정된 인수의 현재의 값을 얻어온다.
IsModifiable 인수를 변경할 수 있을지 어떨지를 조회한다.
IsSupported 지정된 인수가 지원 되고 있는지를 조회한다.
RegisterForEvent 엔코더로부터 지정된 이벤트를 받기 위해서(때문에) 애플리케이션을 등록한다.
SetAllDefaults 모든 인수를 디폴트의 값에 되돌린다.
SetAllDefaultsWithNotify 모든 인수를 디폴트의 값에 되돌려, 변경된 설정의 일람을 돌려준다.
SetAllSettings 스트림으로부터 엔코더 설정을 읽어들여, 그 설정을 엔코더로 설정한다.
SetAllSettingsWithNotify 스트림으로부터 엔코더 설정을 읽어들여, 그 설정을 엔코더로 설정해, 변경된 설정의 일람을 돌려준다.
SetValue 인수의 값을 설정한다.
SetValueWithNotify 인수의 값을 설정해, 그 결과적으로 변경된 다른 설정의 일람을 돌려준다.
UnregisterForEvent 지정된 엔코더 이벤트로부터 애플리케이션의 등록을 해제한다.

주의

IEncoderAPI 인터페이스는, 다양한 엔코더 인수를 식별하는 일련의 GUID 를 정의했다. ICodecAPI 인터페이스도 이러한 GUID 를 지원 하지만, 이 인터페이스로 사용하는 경우는, 지원 되는 GUID 는 보다 폭넓은 일람이 정의되는 것이 예상된다. 지금까지 정의되고 있는 GUID 의 일람에 대해서는,IEncoderAPI 의 문서를 참조할것.

참조

엔코더 API

↑TOP