캠에서 데이터를 읽는 DirectShow 필터를 프로그래밍하고 있습니다. 이 카메라를 초기화하기 위해 전체 DirectShow 파이프 라인 중 어느 것이 가장 적합한 지점인지 궁금합니다. 필터 일시 중지 메서드에서 재정의 된 OnThreadCreate 메서드 ...?DirectShow 파이프 라인에서 리소스를 초기화하는 가장 적합한 단계는 어느 것입니까?
1
A
답변
0
정확하게 "캠 초기화"가 무엇인지에 달려 있습니다. 사소하고 단순한 것이라면 언제든지 할 수 있습니다. 이것은 런타임 지연 및/또는 배타적 리소스 관리와 관련이있는 경우 유휴 인스턴스 필터를 사용하여 오류가 발생하고 예기치 않은 고정이 발생하지 않으므로 너무 일찍 처리하지 않으려 고합니다. UI 액션 (필터 또는 핀 속성 페이지)에서 이러한 종류의 초기화를 수행하거나 먼저 발생하는 모든 작업이 중지 된 상태 (CSourceStream::OnThreadCreate
)에서 전환하는 것이 좋습니다.
0
직선적 인 초기화의 경우 가능한 한 일찍 처리해야합니다.
필터의 팩토리 기능이 "IsOK"기능을 노출하여 생성자가 성공적인지 확인하십시오. 카메라가 연결이 끊어져서 필터가 연결되기 전에 카메라를 잡을 수 있습니다.