클록 시간

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

DirectShow는 참조 시간과 스트림 시간의 두 가지 관련 클록 시간을 정의합니다.

  • 참조 시간은 참조 클록에서 반환되는 절대 시간입니다. 참조 클록을 참조하세요.
  • 스트림 시간은 그래프가 마지막으로 실행되기 시작한 시간을 기준으로 정의됩니다.
    • 그래프가 실행되는 동안 스트림 시간은 참조 시간에서 시작 시간을 뺀 값과 같습니다.
    • 그래프가 일시 중지되는 동안 스트림 시간은 일시 중지된 스트림 시간에 유지됩니다.
    • 검색 작업 후에 스트림 시간이 0으로 다시 설정됩니다.
    • 그래프가 중지되는 동안 스트림 시간은 정의되지 않습니다.

미디어 샘플에 타임스탬프를 지정하지 않으면 스트림 시간 t에서 샘플을 렌더링해야 합니다. 이러한 이유로 스트림 시간을 프레젠테이션 시간이라고도 합니다.

애플리케이션이 IMediaControl::Run 을 호출하여 필터 그래프를 실행하면 Filter Graph Manager는 각 필터에서 IMediaFilter::Run 을 호출합니다. 필터 실행을 시작하는 데 걸리는 약간의 시간을 보상하기 위해 Filter Graph Manager는 나중에 시작 시간을 약간 지정합니다.

DirectShow의 시간 및 시계

타임스탬프를