DirectShow DirectShow 레퍼런스 인터페이스 IAMStreamControl [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
IAMStreamControl 인터페이스는, 필터 위에의 각각의 스트림을 제어하는 메서드를 제공한다. 몇개의 필터 위에의 핀은, 이 인터페이스를 공개하고 있다. 예를 들어,AVI Mux 필터는, 그 입력 핀으로 이 인터페이스를 지원 해,오디오 캡춰 필터와 WDM 비디오 캡춰 필터는, 각각의 출력 핀으로 이 인터페이스를 지원 한다.
이 인터페이스에 의해, 애플리케이션은, 지정의 시간에 스트림의 온과 오프를 바꿀 수가 있다. 예를 들어, 비디오의 프리뷰중에 오디오 스트림을 오프로 해 음성을 지울 수가 있다. 캡춰 애플리케이션의 경우는, 이 인터페이스를 사용하는 것으로, 캡춰의 정확한 시작 타임과 종료 타임을 지정하거나 캡춰 스트림과 프리뷰 스트림을 개별적으로 제어할 수 있다.
이 인터페이스를 사용하려면 ,IAMStreamControl::StartAt 메서드를 호출해 핀이 데이터 송신을 언제 시작 하는지를 지정해,IAMStreamControl::StopAt 메서드를 호출해, 데이터 송신을 언제 종료하는지를 지정한다. 그 후 필터 그래프 매니저로 IMediaControl::Run 를 호출해, 필터 그래프를 실행한다. 모든 타임은, 그래프의 실행 시작 타임에 상대적이다.
이 인터페이스를 사용하는 경우는, 다음의 제한 사항에 주의 해야 한다.
애플리케이션에 따라서는,ICaptureGraphBuilder2::ControlStream 메서드가 편리한 경우가 있다. 이것은, 이 메서드가 그래프 레벨에서의 스트림 제어를 지원 하기 위한(해), 각 필터와 핀을 열거할 필요가 없기 때문에이다.
필터 개발자의 주의점 : CBaseStreamControl base class는, 이 인터페이스를 처리 한다.
IAMStreamControl 인터페이스는,IUnknown 로부터 계승되는 메서드에 가세해 이하의 메서드를 공개한다.
메서드 | 설명 |
StartAt | 스트리밍 데이터 송신의 시작 타임을 핀에 통지한다. |
StopAt | 핀에 대해서 처리와 데이터 송신의 종료 타임을 지정한다. |
GetInfo | 현재의 스트리밍의 설정에 관한 정보를 얻어온다. |
참조