IMFTransform::GetInputAvailableType 메서드(mftransform.h)
이 MFT(Media Foundation 변환)에서 입력 스트림에 사용할 수 있는 미디어 형식을 가져옵니다.
구문
HRESULT GetInputAvailableType(
[in] DWORD dwInputStreamID,
[in] DWORD dwTypeIndex,
[out] IMFMediaType **ppType
);
매개 변수
[in] dwInputStreamID
입력 스트림 식별자입니다. 스트림 식별자 목록을 얻으려면 IMFTransform::GetStreamIDs를 호출합니다.
[in] dwTypeIndex
검색할 미디어 형식의 인덱스입니다. 미디어 형식은 0에서 인덱싱되고 대략적인 기본 설정 순서로 반환됩니다.
[out] ppType
IMFMediaType 인터페이스에 대한 포인터를 받습니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
MFT에는 사용 가능한 입력 형식 목록이 없습니다. |
|
잘못된 스트림 식별자입니다. |
|
dwTypeIndex 매개 변수가 범위를 벗어났습니다. |
|
입력 형식을 설정하기 전에 출력 형식을 설정해야 합니다. |
설명
MFT는 각 입력 스트림에 사용 가능한 미디어 형식 목록을 정의하고 기본 설정으로 정렬합니다. 이 메서드는 입력 스트림에 사용 가능한 미디어 형식을 열거합니다. 사용 가능한 형식을 열거하려면 메서드가 MF_E_NO_MORE_TYPES 반환할 때까지 dwTypeIndex를 증분합니다.
한 스트림에서 미디어 형식을 설정하면 다른 스트림에 사용 가능한 형식이 변경되거나 기본 설정 순서가 변경될 수 있습니다. 그러나 MFT는 사용 가능한 형식 목록을 동적으로 업데이트할 필요가 없습니다. 특정 입력 형식을 설정할 수 있는지 여부를 테스트하는 유일한 방법은 IMFTransform::SetInputType을 호출하는 것입니다.
경우에 따라 MFT는 하나 이상의 출력 형식이 설정될 때까지 입력 형식 목록을 반환할 수 없습니다. 이 경우 메서드는 MF_E_TRANSFORM_TYPE_NOT_SET 반환합니다.
이 메서드를 구현하려면 MFT가 필요하지 않습니다. 그러나 지원되는 형식이 간단하고 MFTGetInfo 함수를 통해 검색할 수 없는 한 대부분의 MFT는 이 메서드를 구현해야 합니다.
mftransform.h를 포함하기 전에 MFT_UNIQUE_METHOD_NAMES 정의된 경우 이 메서드의 이름은 MFTGetInputAvailableType으로 바뀝니다. 하이브리드 DMO/MFT 개체 만들기를 참조하세요.
인코더의 경우 출력 형식이 설정된 후 GetInputAvailableType 은 현재 출력 형식과 호환되는 입력 형식 목록을 반환해야 합니다. 즉, 출력 형식이 설정된 후 GetInputAvailableType 에서 반환되는 모든 형식은 SetInputType에 유효한 형식이어야 합니다.
입력 미디어 형식 및 출력 미디어 형식의 특성이 일치하지 않는 경우 인코더는 입력 형식을 거부해야 합니다(예: MF_MT_FRAME_SIZE 해상도 설정, MF_MT_VIDEO_NOMINAL_RANGE 있는 명목 범위 설정 또는 MF_MT_FRAME_SIZE
구현 정보
MFT가 미디어 형식을 내부적으로 저장하는 경우 MFT는 원래 형식에 대한 포인터가 아닌 미디어 형식의 복제본을 반환해야 합니다. 그렇지 않으면 호출자가 형식을 수정하고 MFT의 내부 상태를 변경할 수 있습니다.요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mftransform.h |
라이브러리 | Mfuuid.lib |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기