DirectX Media Object 미디어 파라미터 파라미터의 정보   [목차열람] [주소복사] [슬롯비우기]
파라미터의 정보
 
Microsoft DirectX 9.0

파라미터의 정보

IMediaParamInfo::GetParamInfo 메서드는, 파라미터를 나타내는 MP_PARAMINFO 구조체를 돌려준다. 이 구조체에는 다음의 정보가 포함되어 있다.

각 파라미터의 정보는, DMO 의 존재 기간 전체를 통해 변화하지 않는다. 따라서, 클라이언트는, 이 정보를 1 회만 문의해 그것을 보관 유지하고 있어 상관없다.

타임 포맷

클라이언트는, 입력 데이터에 타임 스탬프를 설정해, DMO 가 대응하는 파라미터값을 계산할 수 있도록(듯이) 할 필요가 있다. 디폴트에서는, 타임 스탬프의 100 나노초단위의 값을 나타내, 이것은 "기준 타임" 이라고 부른다. 다만, 이 시간 단위는 모든 애플리케이션에 형편이 좋은 것은 아니기 때문에, DMO 에서는 필요에 따라서 다른 타임 포맷을 지원 할 수 있다. 타임 포맷은, 다음의 GUID 로 나타난다.

GUID 설명
GUID_TIME_REFERENCE 기준 타임
GUID_TIME_MUSIC 사분 음표 1 개 당의 파트수 (PPQN)
GUID_TIME_SAMPLES 1 초 쯤의 샘플수

써드파티는, 필요에 따라서 독자적인 타임 포맷을 정의하는 것을 추천한다. 다만, 모든 DMO 는 기준 타임을 지원 해야 한다. 이것에 의해, 모든 사용자를 사용할 수 있는 표준의 baseline가 제공된다. DMO 가 지원 하고 있는 타임 포맷의 수를 확인하려면 ,IMediaParamInfo::GetNumTimeFormats 메서드를 호출한다. 지원 되고 있는 포맷을 열거하려면 ,IMediaParamInfo::GetSupportedTimeFormat 메서드를 호출한다.  

타임 포맷을 설정하려면 ,IMediaParams::SetTimeFormat 를 호출한다. 이 메서드에서는, 타임 포맷의 GUID 와 1 크로크틱 근처의 단위의 수인 "타임 데이터" 를 지정한다. 예를 들어, 타임 포맷이 1 초간의 샘플수로, 타임 데이터가 32 인 경우는, 10 이라고 하는 타임 스탬프값은 320 샘플에 대응한다.

↑TOP