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

IGraphConfig 인터페이스

필터 그래프 매니저는, 그래프를 동적으로 생성 하는 IGraphConfig 를 공개한다. 이 인터페이스를 사용하면 애플리케이션 및 필터로부터, 스트림으로부터의 데이터를 잃지 않고 , 실행 상태에 있는 필터 그래프를 복구성 할 수 있다.

그래프를 동적으로 재생성 하는 가장 직접적인 방법은,IGraphConfig::Reconnect 메서드를 호출하는 방법이다. 그래프를 동적으로 재생성하기 위한 세세한 처리의 대부분은, 메서드측에서 실행한다. 독자적인 기법을 처리 할 필요가 있는 경우를 위해서(때문에),IGraphConfigIGraphConfig::Reconfigure 메서드도 제공한다. 이 메서드는, 필터 그래프를 잠근 데다가, 애플리케이션측의 콜백 함수를 호출해, 그 함수가 그래프를 복구성 한다. 이 메서드에서는, 처리의 대부분을 애플리케이션측에서 실행한다. 더 자세한 정보는, 「동적 그래프 생성」을 참조할것.

필터를 추가 및 삭제하는 처리를 최적화하기 위해서, 필터 그래프는 필터의 캐쉬를 보관 유지한다. Reconnect 메서드의 호출에서는, 그래프로부터 삭제되는 필터를 캐쉬에 추가하도록(듯이) 지정할 수 있다. 또, 필요하게 될 것 같은 필터가 있는 경우는,IGraphConfig::AddFilterToCache 를 호출해 그 필터를 캐쉬에 직접 추가할 수도 있다. IGraphBuilder::Render 메서드,IGraphBuilder::RenderFile 메서드,IGraphBuilder::Connect 메서드는, 캐쉬내의 필터를 우선적으로 사용한다. 또,Reconnect 메서드에서는, 재접속에 캐쉬내의 필터만을 사용하도록(듯이) 지정할 수도 있다. 캐쉬에 보관 유지되고 있는 필터는, 실제로는 그래프의 일부에서는 없기 때문에 주의 해야 한다. 캐쉬내의 필터는, 핀에는 접속되지 않는 상태로 정지하고 있다.

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

메서드 설명
Reconnect 2 개의 핀의 사이의 동적인 재접속을 실행한다.
Reconfigure 필터 그래프를 잠그어, 애플리케이션 또는 필터의 콜백 함수를 호출해, 동적인 복구성을 실행한다.
AddFilterToCache 필터 캐쉬에 필터를 추가한다.
RemoveFilterFromCache 필터 캐쉬로부터 필터를 삭제한다.
EnumCacheFilter 필터 캐쉬내의 필터를 열거한다.
GetStartTime 필터 그래프가 마지막에 실행 상태에 바뀌었을 때에 사용된 기준 타임을 얻어온다.
PushThroughData 지정된 핀에 필터 그래프를 통해서 데이터를 인도한다.
SetFilterFlags 필터의 구성 정보를 설정한다.
GetFilterFlags 필터의 구성 정보를 얻어온다.
RemoveFilterEx 필터 그래프로부터 필터를 삭제한다.

↑TOP