Ore di clock

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

DirectShow definisce due ore di clock correlate: ora di riferimento e ora del flusso.

  • L'ora di riferimento è l'ora assoluta restituita dall'orologio di riferimento. Vedere Orologi di riferimento.
  • Il tempo di flusso viene definito in relazione all'ultima esecuzione del grafico.
    • Mentre il grafico è in esecuzione, l'ora di flusso è uguale all'ora di riferimento meno all'ora di inizio.
    • Mentre il grafico è sospeso, il tempo del flusso rimane al momento della sospensione del flusso.
    • Dopo un'operazione di ricerca, il tempo di flusso viene reimpostato su zero.
    • Mentre il grafico viene arrestato, l'ora del flusso non è definita.

Quando un campione multimediale ha un timestamp t, significa che il rendering dell'esempio deve essere eseguito in fase di flusso t. Per questo motivo, l'ora del flusso è detta anche ora di presentazione.

Quando un'applicazione chiama IMediaControl::Run per eseguire il grafico dei filtri, Filter Graph Manager chiama IMediaFilter::Run per ogni filtro. Per compensare la leggera quantità di tempo necessaria per l'avvio dell'esecuzione dei filtri, Filter Graph Manager specifica un'ora di inizio leggermente in futuro.

Ora e orologi in DirectShow

Timestamp