매개 변수 정보
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
IMediaParamInfo::GetParamInfo 메서드는 매개 변수를 설명하는 MP_PARAMINFO 구조를 반환합니다. 이 구조체에는 다음 정보가 포함됩니다.
- mpType 멤버는 매개 변수 값의 데이터 형식을 나타냅니다. 효율성을 위해 모든 매개 변수는 32비트 부동 소수점 값으로 구현됩니다. MP_TYPE 열거형은 값을 정수, 부동 소수점 값, 부울 또는 열거형(정수 계열)으로 해석할지 여부를 정의합니다.
- mopCaps 멤버는 이 매개 변수가 지원하는 곡선을 나타냅니다. 데이터 형식이 부울 또는 열거형인 경우 매개 변수가 지원할 수 있는 유일한 곡선은 "점프"입니다.
- mpdMinValue 및 mpdMaxValue 멤버는 이 매개 변수의 최소값과 최대값을 정의합니다. 이 매개 변수의 곡선은 이 범위 내에 있어야 합니다.
- mpdNeutralValue 멤버는 매개 변수의 기본값입니다.
- szLabel 멤버는 매개 변수의 이름이고 szUnitText 멤버는 매개 변수에 대한 측정 단위의 이름입니다. 예를 들어 "볼륨" 및 "데시벨" 또는 "Frequency" 및 "kHz"가 포함될 수 있습니다. 두 문자열 모두 영어이며 지역화되지 않습니다. DMO는 IMediaParamInfo::GetParamText 메서드를 통해 지역화된 버전을 제공할 수 있습니다.
각 매개 변수에 대한 정보는 DMO 수명 동안 고정된 상태로 유지됩니다. 따라서 클라이언트는 이 정보를 한 번 쿼리한 다음 캐시할 수 있습니다.
시간 형식
클라이언트는 DMO가 해당 매개 변수 값을 계산할 수 있도록 입력 데이터를 타임스탬프를 지정해야 합니다. 기본적으로 타임스탬프는 참조 시간이라고도 하는 100나노초 단위를 나타냅니다. 그러나 이 시간 단위는 모든 애플리케이션에 편리하지 않으므로 DMO에는 다른 시간 형식을 지원하는 옵션이 있습니다. 시간 형식은 GUID로 식별됩니다.
GUID | Description |
---|---|
GUID_TIME_REFERENCE | 참조 시간 |
GUID_TIME_MUSIC | PPQN(분기당 부품 수) |
GUID_TIME_SAMPLES | 초당 샘플 수 |
제3자는 필요에 따라 자신의 시간 형식을 정의하는 것이 좋습니다. 그러나 모든 DMO는 참조 시간을 지원해야 합니다. 이렇게 하면 모든 사용자가 사용할 수 있는 표준 기준이 제공됩니다. DMO에서 지원하는 시간 형식을 확인하려면 IMediaParamInfo::GetNumTimeFormats 메서드를 호출합니다 . 지원되는 형식을 열거하려면 IMediaParamInfo::GetSupportedTimeFormat 메서드를 호출합니다.
시간 형식을 설정하려면 IMediaParams::SetTimeFormat을 호출합니다. 이 메서드는 시계 틱당 단위 수인 시간 형식 GUID 및 시간 데이터를 지정합니다. 예를 들어 시간 형식이 초당 샘플이고 시간 데이터가 32이면 타임스탬핑 값이 10이면 320개 샘플에 해당합니다.
관련 항목