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
S_OK
메서드가 성공했습니다.
E_NOTIMPL
MFT에는 사용 가능한 입력 형식 목록이 없습니다.
MF_E_INVALIDSTREAMNUMBER
잘못된 스트림 식별자입니다.
MF_E_NO_MORE_TYPES
dwTypeIndex 매개 변수가 범위를 벗어났습니다.
MF_E_TRANSFORM_TYPE_NOT_SET
입력 형식을 설정하기 전에 출력 형식을 설정해야 합니다.

설명

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

추가 정보

IMFTransform

Media Foundation 변환