DirectShow DirectShow 의 사용법 DirectShow 의 기본 태스크 필터 그래프의 시크 시크 기능의 문의 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Microsoft® DirectShow® 는,IMediaSeeking 인터페이스에 의한 시크를 지원 하고 있다. 이 인터페이스를 공개하는 것은 필터 그래프 매니저이지만, 시크 기능을 처리 하는 것은 항상 그래프의 필터이다.
데이터에 따라서는 시크 할 수 없는 것이 있다. 예를 들어, 카메라로부터의 라이브 비디오 스트림을 시크 할 수 없다. 스트림이 시크 가능한 경우, 지원 되는 시크의 종류는 다양하다. 다음의 시크가 포함된다.
IMediaSeeking 인터페이스는, 대응 가능한 시크 기능을 나타내는 AM_SEEKING_SEEKING_CAPABILITIES 플래그를 정의한다. 스트림의 기능을 얻어오려면,IMediaSeeking::GetCapabilities 메서드를 호출한다. 이 메서드에 의해, 비트 단위의 플래그의 논리합이 반환된다. 애플리케이션은 & (비트 단위의 AND) 연산자를 사용해, 플래그를 검사할 수 있다. 예를 들어, 다음 코드는 그래프가 임의의 위치를 시크 할 수 있을지 어떨지를 체크한다.
DWORD dwCap = 0;
HRESULT hr = pSeek->GetCapabilities(&dwCap);
if (AM_SEEKING_CanSeekAbsolute & dwCap)
{
// 그래프는 절대 위치에 시크 할 수 있다.
}