Roman R의 답변 덕분에 제 3 자 디코더 라이브러리를 래핑하는 비동기 필터가 생겼습니다.디코더 필터에서 타임 스탬프를 어떻게 만듭니 까?
인코딩 된 입력 샘플이 네트워크 소스에서 제공됩니다. 현재 디코딩 된 프레임에 타임 스탬프를 추가하지 않으므로 데이터 패킷이 수신되는 시간에 따라 프레임 속도가 다소 엉망입니다.
라이브러리는 전체 프레임을 디코딩 할 때 원본 인코더의 클럭에 따라 프레임이 캡처 된 시간의 UTC 타임 스탬프도 제공합니다.
질문 : 어떻게 스트림 시간에 관련시킬 수 있으며 SetTime 함수에 적합한 값을 만들 수 있습니까? 나는 그걸 가지고 놀았지만, 내가 들어있는 값들은 CBaseOutputPin :: Deliver 함수에서 필터 그래프를 잠그는 것처럼 보인다.
감사합니다. 이 선을 따라 뭔가를 시도했지만 IBaseFilter :: Run에서 시간을 빼지 않고 IReferenceClock :: GetTime의 현재 값을 사용했습니다. 이것이 GetTime에 의해 리턴 된 값이 아마도 필터 시간이 아닌 시스템 시간 일 때 내 필터가 잠기는 원인이되었다고 가정합니다. 정확합니까? –
예이 값은 0으로 정렬되어 있지 않으므로 오랜 지연 후에 데이터를 재생하도록 예약했을 수 있습니다. –
감사합니다. 나는 아침에 다른 것을 바칠거야. –