Horas del reloj

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

DirectShow define dos horas de reloj relacionadas: hora de referencia y hora de secuencia.

  • La hora de referencia es la hora absoluta devuelta por el reloj de referencia. (Vea Relojes de referencia).
  • El tiempo de transmisión se define en relación con el momento en que el gráfico comenzó a ejecutarse por última vez.
    • Mientras se ejecuta el gráfico, el tiempo de la secuencia equivale a la hora de referencia menos la hora de inicio.
    • Mientras el gráfico está en pausa, el tiempo de secuencia permanece en el momento de la secuencia cuando se ha pausado.
    • Después de una operación de búsqueda, el tiempo de transmisión se restablece a cero.
    • Mientras se detiene el gráfico, el tiempo de secuencia no está definido.

Cuando un ejemplo multimedia tiene una marca de tiempo t, significa que la muestra se debe representar en tiempo de secuencia t. Por este motivo, el tiempo de transmisión también se denomina tiempo de presentación.

Cuando una aplicación llama a IMediaControl::Run para ejecutar el gráfico de filtros, el Administrador de gráficos de filtros llama a IMediaFilter::Run en cada filtro. Para compensar la ligera cantidad de tiempo que tardan los filtros en empezar a ejecutarse, el Administrador de gráficos de filtros especifica una hora de inicio ligeramente en el futuro.

Hora y relojes en DirectShow

Marcas de tiempo