Compartir a través de


Comportamiento del reloj de Demux

[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.

En el modo de inserción, el Demultiplexer MPEG-2 (demux) expone la interfaz IReferenceClock . Actúa como origen activo, por lo que se elegirá como el reloj de referencia del grafo de forma predeterminada; consulte Orígenes activos para obtener más información.

  • En el caso de las secuencias de transporte, el demux sincroniza su reloj con la secuencia DE PCR que corresponde a la secuencia de audio o vídeo asignada más recientemente por la aplicación. Internamente, el demux realiza un seguimiento de las tablas PAT y PMT. Cuando la aplicación asigna un PID de flujo elemental a un pin de salida, la demux busca la secuencia de PCR para ese PID y usa esa secuencia de PCR. (Actualmente, no hay forma de que la aplicación especifique directamente el PID de PCR).
  • En el caso de las secuencias de programa, el demux sincroniza su reloj con la secuencia SCR.

La sincronización del reloj de filtro con la secuencia PCR o SCR evita el desbordamiento de datos o el flujo de subflujo, lo que podría dar lugar si el reloj del gráfico varía del reloj de la secuencia. El demux también traduce los valores PTS de PES en horas de referencia de DirectShow y usa estos valores para marcar la hora de los ejemplos de medios. Las marcas de tiempo se aplican al siguiente límite del marco; no hay ninguna garantía de que el límite del marco se alinee con el inicio del ejemplo multimedia.

La demux garantiza que las marcas de tiempo aumentan de forma monotónica. Esto significa, por ejemplo, que si una secuencia de transporte incluye un segmento como un comercial que se creó con un reloj diferente al programa principal, el demux ajustará las marcas de tiempo de presentación para ocultar la discontinuidad de tiempo de los filtros de bajada.

Uso del Demultiplexer MPEG-2