DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CTransformFilter Receive [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Receive 메서드는, 미디어 샘플을 취득해 처리해, 다운 스트림 필터에 출력 샘플을 출력한다.
구문
HRESULT Receive(
IMediaSample *pSample
);
파라미터
pSample
입력 샘플의 IMediaSample 인터페이스의 포인터.
반환값
HRESULT 값을 돌려준다. 다음의 몇개의 값을 돌려준다.
값 | 설명 |
S_FALSE | 업 스트림 필터는 샘플의 송신을 정지해야 한다. |
S_OK | 성공. |
주의
필터의 입력 핀은 샘플을 얻어온다라고 해 이 메서드를 호출한다. 이 메서드는, 새로운 출력 샘플을 준비하는 CTransformFilter::InitializeOutputSample 메서드를 호출한다. 그 후 CTransformFilter::Transform 메서드를 호출한다. 이 메서드는, 상속 클래스로 처리 해야 한다. Transform 메서드는 입력 데이터를 처리해, 출력 데이터를 생성 한다.
Transform 메서드가 S_FALSE 를 돌려주면Receive 메서드는 이 샘플을 드롭 한다. 최초로 드롭 된 샘플에서는, 필터는 EC_QUALITY_CHANGE 이벤트를 필터 그래프 매니저에 보낸다. 한편,Transform 메서드가 S_OK 를 돌려주면 필터는 출력 샘플을 출력한다. 그것을 실시하기 (위해)때문에, 다운 스트림의 입력 핀의 IMemInputPin::Receive 메서드를 호출한다.
참조