DirectShow DirectShow 레퍼런스 인터페이스 IMediaControl Pause [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Pause 메서드는, 필터 그래프의 필터를 모두 포즈 한다.
구문
HRESULT Pause(void);
반환값
HRESULT 값을 돌려준다. 가능한 값은 다음과 같다.
값 | 설명 |
S_FALSE | 그래프의 포즈에 성공했지만, 상태의 처리이 완료하고 있지 않는 필터가 있다. |
S_OK | 그래프의 필터가 모두 포즈 상태에의 처리을 완료했다. |
주의
필터 그래프를 포즈 하면, 다음에 그래프를 실행 할 때 즉석에서 렌더링 되도록(듯이) 그래프가 머리 내 된다. 그래프가 포즈 하고 있을 때, 데이터는 처리되지만, 렌더링은 행해지지 않는다. 데이터는, 버퍼에 여유가 있는 한, 그래프에 인도해져 변환 필터로 처리되지만, 그 데이터를 렌더링 필터가 렌더링 할 것은 없다. 다만, 비디오 렌더러는 현재의 샘플의 정적인 포스터 프레임을 표시한다.
이 메서드가 S_FALSE 를 돌려주는 경우는,IMediaControl::GetState 메서드를 호출해, 상태의 처리의 완료를 대기하는지, 또는 처리이 완료하고 있는지를 확인하는 것. Pause 를 호출해 비디오 파일의 최초의 프레임을 표시한 후는 반드시, 즉석에서 GetState 를 호출해, 상태 처리이 완료한 것을 확인하는 것. 상태 처리이 완료하고 있지 않으면 비디오 직사각형이 검어지는 경우가 있다.
실패했을 경우, 메서드는, 돌아오기 전에 그래프를 정지한다.
참조