IMFStreamSink::P rocessSample 메서드(mfidl.h)

스트림에 샘플을 제공합니다. 미디어 싱크는 샘플을 처리합니다.

구문

HRESULT ProcessSample(
  [in] IMFSample *pSample
);

매개 변수

[in] pSample

스트림에 대한 유효한 데이터를 포함하는 샘플의 IMFSample 인터페이스에 대한 포인터입니다.

반환 값

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

반환 코드 Description
S_OK
메서드가 성공했습니다.
MF_E_INVALID_STATE_TRANSITION
미디어 싱크가 잘못된 상태이므로 샘플을 받을 수 있습니다. 예를 들어 사전 등록이 완료되었지만 프레젠테이션 시계가 아직 시작되지 않았습니다.
MF_E_INVALID_TIMESTAMP
샘플에 잘못된 타임스탬프를 가지고 있습니다. 설명 부분을 참조하세요.
MF_E_INVALIDREQUEST
미디어 싱크가 일시 중지되거나 중지되어 샘플을 처리할 수 없습니다.
MF_E_NO_CLOCK
프레젠테이션 시계가 설정되지 않았습니다. IMFMediaSink::SetPresentationClock을 호출합니다.
MF_E_NO_SAMPLE_TIMESTAMP
샘플에는 타임스탬프를 가지고 있지 않습니다.
MF_E_NOT_INITIALIZED
스트림 싱크가 초기화되지 않았습니다.
MF_E_SHUTDOWN
미디어 싱크의 Shutdown 메서드가 호출되었습니다.
MF_E_STREAMSINK_REMOVED
이 스트림은 미디어 싱크에서 제거되었으며 더 이상 유효하지 않습니다.

설명

스트림 싱크가 MEStreamSinkRequestSample 이벤트를 보낼 때 이 메서드를 호출합니다.

이 메서드는 미디어 싱크의 구현에 따라 다양한 이유로 MF_E_INVALID_TIMESTAMP 반환할 수 있습니다.

  • 음의 타임스탬프를 사용합니다.
  • 뒤로 이동하는 타임스탬프(동일한 스트림 내에서)
  • 한 스트림에 대한 타임스탬프는 동일한 미디어 싱크 내의 다른 스트림에 있는 타임스탬프를 너무 멀리 표류했습니다(예: 스트림을 멀티플렉싱하는 보관 싱크).
이러한 상황에서 모든 미디어 싱크가 오류 코드를 반환하는 것은 아닙니다.

요구 사항

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

참고 항목

IMFStreamSink

미디어 싱크