다음을 통해 공유


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

SetInputStreamState 메서드는 디바이스 MFT 입력 스트림 상태 및 미디어 형식을 설정합니다.

구문

HRESULT SetInputStreamState(
  [in] DWORD             dwStreamID,
  [in] IMFMediaType      *pMediaType,
  [in] DeviceStreamState value,
  [in] DWORD             dwFlags
);

매개 변수

[in] dwStreamID

상태 및 미디어 형식을 변경해야 하는 입력 스트림의 스트림 ID입니다.

[in] pMediaType

입력 스트림에 대한 기본 설정 미디어 형식은 이 매개 변수를 통해 전달됩니다. 들어오는 미디어 유형이 현재 미디어 유형과 다른 경우에만 디바이스 MFT에서 미디어 유형을 변경해야 합니다.

[in] value

입력 스트림이 전환되어야 하는 DeviceStreamState 를 지정합니다.

[in] dwFlags

S_OK 반환되면 상태 변경 작업을 수행합니다. 그렇지 않으면 devproxy 출력 핀에서 미디어 형식을 설정하는 동안 발생한 오류가 포함됩니다. 이 경우 오류를 적절하게 전파합니다.

반환 값

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

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

설명

이 인터페이스 함수는 입력 스트림에 지정된 미디어 형식이 설정된 지정된 상태로 입력 스트림을 전환하는 데 도움이 됩니다. 디바이스 MFT가 특정 입력 스트림의 상태 및 미디어 유형을 변경하도록 요청할 때 DTM(디바이스 변환 관리자)에서 사용됩니다. 디바이스 MFT의 출력 중 하나가 변경될 때 디바이스 MFT는 이러한 변경을 요청해야 합니다.

예를 들어 입력 스트림 2개와 출력 스트림 3개가 있는 디바이스 MFT를 생각해 보세요. 입력 1에서 출력 1 및 출력 2 원본을 허용하고 720p에서 스트리밍합니다. 이제 출력 2의 미디어 유형이 1080p로 변경되면 디바이스 MFT는 입력 1의 미디어 형식을 1080p로 변경해야 합니다. 이를 위해 디바이스 MFT는 METransformInputStreamStateChanged 메시지를 사용하여 이 메서드를 호출하도록 DTM에 요청해야 합니다.

요구 사항

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

참고 항목

IMFDeviceTransform