IMFRateControl::SetRate 메서드(mfidl.h)

재생 속도를 설정합니다.

구문

HRESULT SetRate(
  [in] BOOL  fThin,
  [in] float flRate
);

매개 변수

[in] fThin

TRUE이면 미디어 스트림이 얇아집니다. 그렇지 않으면 스트림이 얇아지지 않습니다. 미디어 원본 및 demultiplexers의 경우 이 매개 변수가 TRUE이면 개체가 스트림을 씬해야 합니다. 디코더 및 멀티플렉서와 같은 다운스트림 변환의 경우 이 매개 변수는 정보를 제공합니다. 입력 스트림이 얇아진 것을 개체에 알 수 있습니다. 자세한 내용은 속도 제어 정보를 참조하세요.

[in] flRate

요청된 재생 속도입니다. 양수 값은 정방향 재생을 나타내고, 음수 값은 역방향 재생을 나타내고, 0은 스크러빙을 나타냅니다(원본은 단일 프레임을 제공).

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
메서드가 성공했습니다.
MF_E_REVERSE_UNSUPPORTED
개체는 역방향 재생을 지원하지 않습니다.
MF_E_THINNING_UNSUPPORTED
개체는 씬닝을 지원하지 않습니다.
MF_E_UNSUPPORTED_RATE
개체는 요청된 재생 속도를 지원하지 않습니다.
MF_E_UNSUPPORTED_RATE_TRANSITION
실행 중인 상태에서는 개체를 새 속도로 변경할 수 없습니다.

설명

미디어 세션은 현재 재생 상태에 따라 속도 경계 간의 일부 전환을 방지합니다.

재생 상태 앞으로/역방향 앞으로/0 역/0
실행 중
일시 중지됨
중지됨
 

전환이 지원되지 않으면 메서드는 MF_E_UNSUPPORTED_RATE_TRANSITION 반환합니다.

미디어 원본이 SetRate에 대한 호출을 완료하면 MESourceRateChanged 이벤트를 보냅니다. 다른 파이프라인 구성 요소는 이 이벤트를 보내지 않습니다.

미디어 원본이 얇아진 재생과 씬이 아닌 재생 사이를 전환하는 경우 스트림은 MEStreamThinMode 이벤트를 전송하여 전환을 나타냅니다. 미디어 원본의 이벤트는 미디어 스트림의 이벤트와 동기화되지 않습니다. MESourceRateChanged 이벤트를 받은 후에도 스트림이 얇거나 얇지 않은 모드로 전환되기 전에 큐에 대기된 샘플을 받을 수 있습니다. MEStreamThinMode 이벤트는 전환이 발생하는 스트림의 정확한 지점을 표시합니다.

미디어 세션이 SetRate에 대한 호출을 완료하면 MESessionRateChanged 이벤트를 보냅니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfuuid.lib

참고 항목

미디어 세션에서 재생 속도를 설정하는 방법

IMFRateControl