Delen via


Streamsynchronisatie

Dvd-stroominvoer kan bestaan uit twee of meer streams. Het stuurprogramma van de streamklasse kan synchronisatie transparant afhandelen namens de dvd-decoder minidriver. Zie Minidriver-synchronisatie voor meer informatie. Programmeurs moeten zich nog steeds bewust zijn van verschillende factoren die van invloed zijn op dvd-streams, waaronder:

  • De audiostream moet de hoofdklok leveren en de klok synthetiseren wanneer er geen gegevens zijn. Wanneer de audiogegevens stoppen, gebruikt de audiostream de systeemklok op basis van frequentiekoppeling en klokfrequentie zoals geretourneerd door KeQueryPerformanceCounter. Alle andere streams moeten ondergeschikt zijn aan audio. Dat wil gezegd, ze synchroniseren hun prestaties met de audiostream.

  • Softwareaudio-decoders moeten worden ondersteund in de gebruikersmodus. Met de DirectShow-filter van de klok wordt de DirectShow-klok doorgestuurd naar de minidriver. Dit is transparant voor de minidriver.

  • De decoder mag de tijdstempels niet gebruiken in de primaire elementaire stroom (PES)-header.

  • Systeemklokverwijzingen (SCR's) worden niet gebruikt in synchronisatie. Het veld SCR van het DVD PACK is ingesteld op nul omdat de dvd-architectuur van Microsoft gebruikmaakt van het model "master clock" paradigma voor audio- en videosynchronisatie.

  • De minidriver ziet geen tijdstempelonderbrekingen. De dvd-navigator/splitser maakt alle tijdstempels aaneengesloten.

Als een decoder ontsleutelingsmogelijkheden biedt voor zowel audio als video, kan de decoder alleen hardwaresynchronisatie gebruiken wanneer de audiostream wordt geopend als de systeemmasterklok. Als de audiostream niet de hoofdklok is, moet de videostream videodecodering synchroniseren met de streamklasse-hoofdklok.