나는 DSPACK 컴포넌트 라이브러리를 사용하여 델파이 6로 작성된 DirectShow 필터를 가지고있다. 현재 필자는 FillBuffer() 호출의 맨 위에 그 목적을 위해 만들어진 sync obj를 사용하여 필터 상태를 잠그고 끝에 (최종적으로는 try/finally 구조 섹션에 있음)이를 릴리스합니다. FillBuffer() 호출은 데이터 생성 작업을 수행하는 스레드에 의해 릴리스 된 WaitForSingleObject() 호출을 통해 새 데이터가 전송 될 때까지 기다리는 동안 차단할 수 있으므로 좋지 않은 생각입니까? 필자는 FillBuffer() 호출이 상대적으로 오랜 시간 동안 차단되면 이것이 내 필터 또는 전체 필터 그래프에 부정적인 영향을 미칠 수 있다고 우려하고 있습니다.DirectShow 푸시 소스 필터 FillBuffer() 호출 중에 필터 상태를 잠글까요?
1
A
답변
1
잠금 해제 된 중요한 섹션을 기다려야합니다. 그렇지 않으면 대기중인 작업자 스레드가 제어 스레드를 차단하는 등의 이유로 이벤트가 발생할 수 있습니다. 필터 그래프의 상태를 변경하는 요구가있다.
관련 문제
- 1. DirectShow 라이브 소스 필터 디자인
- 2. DirectShow 소스 필터
- 3. 필터 종료시 원본 스트림 스레드를 차단하는 데 사용할 수있는 DirectShow 필터 이벤트는 무엇입니까?
- 4. 워터 마크 + DirectShow 필터
- 5. DirectShow 필터 디버깅
- 6. 임베디드 DirectShow 필터 등록
- 7. DirectShow 필터의 공유 상태를 잠그는 것에 대해 언제 걱정해야합니까?
- 8. "DirectShow 외부에서 DirectShow 필터 사용"정보
- 9. WMASFWriter를 사용한 DirectShow 필터 그래프가 너무 짧은 비디오를 생성합니다.
- 10. directshow 비디오 크로 핑 필터
- 11. DirectShow 특정 창을 잡으려고하는 필터
- 12. DirectShow 용 Matroska Muxer 필터
- 13. HWND를 선택하기위한 DirectShow 필터 만들기
- 14. 다른 파일로 DirectShow 필터 그래프를 재사용하는 방법
- 15. Delphi 6에서 작동하지 않는 중단 점 DirectShow 소스 필터
- 16. DShow 소스 필터 : 어떤 필터 인스턴스입니까?
- 17. 오디오 만 제공하는 DirectShow 푸시 소스 필터의 올바른 샘플 크기는 무엇입니까?
- 18. YUI 소스 디렉토리 필터
- 19. RTSP 소스 필터 초기화
- 20. DirectShow 소스 필터에 작성하십시오
- 21. 복잡한 필터 상태를 유지하기위한 전략?
- 22. 사용자 지정 DirectShow 필터 사용 (DLL, 등록)
- 23. C에서 사용자 지정 DirectShow 필터 인터페이스를 정렬합니다. #
- 24. 사용자 지정 DirectShow 필터 속성 페이지
- 25. 식 인코더 sdk에서 directshow 필터 개체 만들기
- 26. DirectShow 필터 그래프 용 CMP4 디코더
- 27. DirectShow 필터 설치 프로그램을 만드는 방법은 무엇입니까?
- 28. AVS 비디오 디코더 DirectShow 필터 또는 MFT
- 29. 사용자 지정 DirectShow 그래프 원본 필터
- 30. DirectShow 샘플 그래버와 FillBuffer REFERENCE_TIME에서 "double"타임 스탬프를 변환하는 방법?