DirectShow DirectShow 레퍼런스 인터페이스 IPin BeginFlush   [목차열람] [주소복사] [슬롯비우기]
IPin::BeginFlush
 
Microsoft DirectX 9.0

IPin::BeginFlush

BeginFlush 메서드는, 플래시 처리를 시작 한다.

애플리케이션으로부터 이 메서드를 호출하지 않는 것. 이 메서드는, 다른 필터가 데이터를 그래프로부터 플래시 하기 위해서 호출한다.

구문

HRESULT BeginFlush(void);

반환값

HRESULT 값을 돌려준다. 가능한 값은 다음과 같다.

설명
S_OK 성공.
E_UNEXPECTED 이 핀은 출력 핀이다.

주의

이 메서드는 입력 핀에서만 호출하는 것. 출력 핀은 E_UNEXPECTED 를 돌려준다.

플래시 처리중에, 필터는 그 필터가 처리한 어느 데이터도 폐기한다. 플래시가 완료할 때까지 새로운 데이터는 거절된다. 업 스트림 핀이 IPin::EndFlush 를 호출하면, 플래시는 완료한다. 플래시에 의해 이벤트가 보통의 데이터 플로우를 변경 할 때의 필터 그래프의 리스폰스가 개선된다. 예를 들어, 시크중에 플래시는 행해진다.

BeginFlush 가 불려 가면 필터 그래프는 이하의 스텝을 실시한다.

  1. IPin::BeginFlush 호출을 다운 스트림에 건네준다.
  2. IMemInputPin::Receive 와 같은 모든 데이터 스트리밍 메서드를 실패시키는 내부 플래그를 설정한다.
  3. 동작이 정지되고 있는 Receive 메서드에의 호출로부터 돌아온다.

BeginFlush 통지가 렌더링 필터에 닿으면 렌더러는 보관 유지하고 있는 모든 샘플을 릴리즈 한다.

BeginFlush 가 불려 간 후,IPin::EndFlush 메서드가 불려 갈 때까지, 핀은 업 스트림으로부터의 모든 샘플을 받아들이지 않고 S_FALSE 를 돌려준다.

참조

↑TOP