DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseInputPin ReceiveMultiple [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
ReceiveMultiple 메서드는, 샘플의 배열을 받는다. 이 메서드는 IMemInputPin::ReceiveMultiple 메서드를 처리 한다.
구문
HRESULT ReceiveMultiple(
IMediaSample **pSamples,
long nSamples,
long *nSamplesProcessed
);
파라미터
pSamples
nSamples 의 사이즈를 가지는 IMediaSample 포인터의 배열의 주소.
nSamples
처리하는 샘플의 수.
nSamplesProcessed
처리된 샘플의 수를 받는 변수의 포인터.
반환값
HRESULT 값을 돌려준다. 다음의 몇개의 값을 돌려준다.
값 | 설명 |
S_OK | 성공. |
S_FALSE | 핀은 현재 플래시중이다. 샘플은 거부되었다. |
E_POINTER | NULL 포인터 인수. |
VFW_E_INVALIDMEDIATYPE | 무효인 미디어 타입. |
VFW_E_RUNTIME_ERROR | 실행시 에러가 발생했다. |
VFW_E_WRONG_STATE | 핀은 정지하고 있다. |
주의
이 메서드는 CBaseInputPin::Receive 메서드와 같이 동작하지만, 샘플의 배열을 받는다. base class에서는, 이 메서드는 배열을 루프 처리해, 각 샘플로 Receive 를 호출한다. 샘플을 한 번에 1 개씩 처리하는 것보다도 배치로 처리하는 쪽이 효율적인 필터의 경우는, 이 함수를 오버라이드(override) 하는 것.
참조