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

IMediaPosition 인터페이스

스트림내의 위치를 시크 하는 메서드를 갖는다.

IMediaSeeking 인터페이스는 이 인터페이스를 강화하고 있다. C/C++ 로 쓰여진 애플리케이션은 IMediaPosition 대신에 IMediaSeeking 를 사용해야 하는 것이다. 그러나,IMediaSeeking 는 Automation 와 호환성이 없기 때문에, Microsoft® Visual Basic® 로 쓰여진 애플리케이션은 대신에 IMediaPosition 를 사용해야 한다.

이 인터페이스는 각각의 필터가 실시하는 것과 같게 필터 그래프 매니저에 의해 공개되고 있다. 애플리케이션은 IMediaPosition 인터페이스 포인터를 필터로부터는 아니고 필터 그래프 매니저로부터 취득해야 한다. 필터 그래프 매니저는, 메서드 호출을 모든 렌더링 필터에 할당한다. 렌더링 필터는 그 호출을 소스 필터에의 업 스트림에 전달한다. 이벤트의 이 순서에 의해 모든 스트림은 동기 된다.

배포한 호출이 에러를 돌려주면 필터 그래프 매니저는 받은 최초의 에러값을 돌려준다. 이 경우, 배포한 호출의 몇개인가가 성공하고 있을 가능성이 있다. 그러나, 배포한 모든 호출이 E_NOTIMPL 를 돌려줄 때까지, 필터 그래프는 E_NOTIMPL 를 돌려주지 않는다. 그래프내의 적어도 1 개의 필터가 그 메서드를 처리 하면, 필터 그래프 매니저는 E_NOTIMPL 를 돌려주지 않는다.

필터 개발자 : 이 메서드를 처리 해서는 안 된다. 대신에 IMediaSeeking 를 처리 하는 것. 그 필터가 IMediaSeeking 를 지원 하는 경우, 필터 그래프 매니저는 자동적으로 IMediaPosition 에의 호출을 처리한다.

IMediaPosition 인터페이스는,IDispatch 로부터 계승하는 메서드 이외에 이하의 메서드도 공개한다.

메서드 설명
get_Duration 스트림의 시간폭을 얻어온다.
put_CurrentPosition 스트림의 합계 시간폭을 기준으로 하는, 현재의 위치를 설정한다.
get_CurrentPosition 스트림의 합계 시간폭을 기준으로 하는, 현재의 위치를 얻어온다.
get_StopTime 스트림의 시간폭을 기준으로서 재생이 정지하는 타임을 얻어온다.
put_StopTime 스트림의 전시간폭을 기준으로서 재생이 정지하는 타임을 설정한다.
get_PrerollTime 시작 위치전에 큐에 들어가는 데이터의 양을 얻어온다.
put_PrerollTime 시작 위치전에 큐에 들어가는 데이터의 양을 설정한다.
put_Rate 재생 레이트를 설정한다.
get_Rate 재생 레이트를 얻어온다.
CanSeekForward 필터 그래프가 스트림의 순서 방향으로 시크 가능한가 어떤가를 확인한다.
CanSeekBackward 필터 그래프가 스트림의 역방향으로 시크 가능한가 어떤가를 확인한다.

↑TOP