Compartilhar via


Sincronização de fluxo

As entradas de fluxo de DVD podem ser compostas por dois ou mais fluxos. O driver de classe de fluxo pode lidar com a sincronização de forma transparente em nome do minidriver de decodificador de DVD. Para obter mais informações, consulte Sincronização do Minidriver. Os programadores ainda devem estar cientes de vários fatores que afetam os fluxos de DVD, incluindo:

  • O fluxo de áudio deve fornecer o relógio master e deve sintetizar o relógio quando não houver dados. Quando os dados de áudio param, o fluxo de áudio usa o relógio do sistema com base na correspondência de taxa e na frequência do relógio, conforme retornado por KeQueryPerformanceCounter. Todos os outros fluxos devem atuar como subordinados ao áudio. Ou seja, eles sincronizam seu desempenho com o fluxo de áudio.

  • Os decodificadores de áudio de software devem ter suporte no modo de usuário. O filtro DirectShow do encaminhador de relógio encaminha o relógio DirectShow para o minidriver. Isso é transparente para o minidriver.

  • O decodificador não deve usar os carimbos de data/hora no cabeçalho PES (fluxo primário elementar).

  • As SCRs (referências de relógio do sistema) não são usadas na sincronização. O campo SCR do DVD PACK é definido como zero porque a arquitetura de DVD da Microsoft usa o paradigma "master relógio" para sincronização de áudio e vídeo.

  • O minidriver não vê descontinuações de carimbo de data/hora. O navegador/divisor de DVD torna todos os carimbos de data/hora contíguos.

Se um decodificador fornecer recursos de decodificação para áudio e vídeo, o decodificador poderá usar a sincronização de hardware somente quando o fluxo de áudio for aberto como o sistema master relógio. Se o fluxo de áudio não for o relógio master, o fluxo de vídeo deverá sincronizar a decodificação de vídeo com a classe de fluxo master relógio.