다음을 통해 공유


IMFDeviceTransform::GetInputStreamPreferredState 메서드(mftransform.h)

GetInputStreamPreferredState 메서드는 디바이스 MFT 입력 스트림의 기본 상태 및 미디어 형식을 가져옵니다.

구문

HRESULT GetInputStreamPreferredState(
  [in]  DWORD             dwStreamID,
  [out] DeviceStreamState *value,
  [out] IMFMediaType      **ppMediaType
);

매개 변수

[in] dwStreamID

상태를 검색해야 하는 입력 스트림의 스트림 ID입니다.

[out] value

지정된 입력 디바이스 MFT 스트림의 현재 DeviceStreamState 를 지정합니다.

[out] ppMediaType

입력 스트림에 대한 기본 설정 미디어 형식은 이 매개 변수를 통해 전달됩니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 제공된 값이 포함되지만 제한되지는 않습니다.

반환 코드 Description
S_OK
스트림 상태를 전환했습니다.
MF_E_INVALIDREQUEST
디바이스 MFT가 현재 요청을 지원할 수 없습니다.
MF_E_INVAILIDSTREAMNUMBER
잘못된 스트림 ID가 전달되었습니다.
MF_E_INVALID_STREAM_STATE
요청된 스트림 전환을 사용할 수 없습니다.

설명

이 인터페이스 함수는 디바이스 MFT 입력 스트림의 기본 상태 및 전환해야 하는 미디어 형식을 쿼리하는 데 도움이 됩니다.

출력 스트림의 미디어 형식 변경에 해당하는 입력 변경이 필요한 경우 디바이스 MFT는 METransformInputStreamStateChanged를 DTM 에 게시하여 관련 입력 스트림을 변경합니다. DTM은 GetInputStreamPreferredState 를 호출하여 디바이스 MFT 입력 스트림의 기본 미디어 유형 및 상태를 검색합니다.

예를 들어 입력 스트림 2개와 출력 스트림 3개가 있는 디바이스 MFT를 생각해 보세요. 입력 1에서 출력 1 및 출력 2 원본을 허용하고 720p에서 스트리밍합니다. 이제 출력 2의 미디어 유형이 1080p로 변경된 경우를 살펴보겠습니다. 이 요청을 충족하려면 디바이스 MFT가 METransformInputStreamStateChanged 이벤트를 DTM 에 게시하여 입력 1 미디어 형식을 1080p로 변경해야 합니다. DTM은 GetInputStreamPreferredState 를 호출하고 기본 상태 및 mediatype을 검색합니다. DTM은 SetInputStreamState 를 호출하여 입력 스트림의 mediatype 및 상태를 변경합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10, 버전 1703
대상 플랫폼 Windows
헤더 mftransform.h

참고 항목

IMFDeviceTransform