CBaseRenderer 메서드CBaseRenderer.Receive method

Receive메서드는 스트림에서 다음 미디어 샘플을 받습니다.The Receive method receives the next media sample in the stream.

구문Syntax

virtual Receive(
   IMediaSample *pMediaSample
);

매개 변수Parameters

pMediaSamplepMediaSample

샘플의 IMediaSample 인터페이스에 대 한 포인터입니다.Pointer to the sample's IMediaSample interface.

반환 값Return value

_성공 하면 OK를 반환 하 고, 오류의 원인을 나타내는 HRESULT 값을 반환 합니다.Returns S_OK if successful, or an HRESULT value indicating the cause of the error.

설명Remarks

입력 핀은 업스트림 필터에서 샘플을 받을 때이 메서드를 호출 합니다.The input pin calls this method when it receives a sample from the upstream filter.

필터가 실행 중인 경우이 메서드는 다음 단계를 수행 합니다.If the filter is running, this method performs the following steps:

  1. 렌더링을 위해 샘플을 예약 합니다 (CBaseRenderer::P reparereceive).Schedules the sample for rendering (CBaseRenderer::PrepareReceive).
  2. 예약 된 시간 (CBaseRenderer:: WaitForRenderTime)을 대기 합니다.Waits for the scheduled time (CBaseRenderer::WaitForRenderTime).
  3. 샘플 (CBaseRenderer:: Render)을 렌더링 합니다.Renders the sample (CBaseRenderer::Render).
  4. 샘플 (CBaseRenderer:: ClearPendingSample)을 해제 합니다.Releases the sample (CBaseRenderer::ClearPendingSample).

필터가 일시 중지 된 경우 메서드는 다음 단계를 수행 합니다.If the filter is paused, the method performs the following steps:

  1. 샘플을 사용할 수 있음을 파생 클래스에 알립니다 (CBaseRenderer:: OnReceiveFirstSample).Notifies the derived class that a sample is available (CBaseRenderer::OnReceiveFirstSample).
  2. 예약 된 시간 동안 대기 합니다.Waits for the scheduled time.
  3. 샘플을 렌더링 합니다.Renders the sample.
  4. 샘플을 해제 합니다.Releases the sample.

일시 중지 된 동안 메서드는 필터가 실행 중 상태로 전환 될 때까지 2 단계에서 대기 합니다.While paused, the method waits in step 2 until the filter switches to a running state. 이 시점에서 필터는 샘플을 예약 합니다.At that point, the filter schedules the sample.

기본 클래스에서 OnReceiveFirstSample 메서드는 아무 작업도 수행 하지 않습니다.In the base class, the OnReceiveFirstSample method does nothing. 파생 클래스는이를 재정의할 수 있습니다.The derived class can override it. 예를 들어 비디오 렌더러가 일시 중지 되 면 첫 번째 샘플이 계속 이미지로 표시 됩니다.For example, when a video renderer is paused, it displays the first sample as a still image.

요구 사항Requirements

요구 사항Requirement Value
헤더Header
Base. h (Stream. h 포함)
Renbase.h (include Streams.h)
라이브러리Library
Strmbase (정품 빌드);
Strmdisd.lib (디버그 빌드)
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

참고 항목See also

CBaseRenderer 클래스CBaseRenderer Class