Udostępnij przez


Synchronizacja strumienia

Strumienie wejściowe DVD mogą składać się z dwóch lub więcej strumieni. Sterownik klasy strumienia może obsługiwać synchronizację w sposób niewidoczny w imieniu minidrivera DVD. Aby uzyskać więcej informacji, zobacz Synchronizacja minidrivera. Programiści muszą nadal mieć świadomość kilku czynników wpływających na strumienie DVD, w tym:

  • Strumień audio musi zapewnić zegar główny i musi syntetyzować zegar, gdy nie ma danych. Gdy dane audio kończą się, strumień audio korzysta z zegara systemowego na podstawie dopasowywania prędkości i częstotliwości zegara zwracanej przez KeQueryPerformanceCounter. Wszystkie inne strumienie muszą działać jako podrzędne do dźwięku. Oznacza to, że synchronizują swoją wydajność ze strumieniem audio.

  • Programowe dekodatory audio muszą być obsługiwane w trybie użytkownika. Przekaźnik zegara DirectShow przesyła zegar DirectShow do ministerownika. Jest to przezroczyste dla minidrivera.

  • Dekoder nie powinien używać znaczników czasowych w nagłówku podstawowego strumienia elementarnego (PES).

  • Odwołania zegara systemowego (SCR) nie są używane w synchronizacji. Pole SCR PAKIETU DVD jest ustawione na zero, ponieważ architektura DVD firmy Microsoft używa modelu "zegar główny" na potrzeby synchronizacji audio i wideo.

  • Minidriver nie zauważa nieciągłości znaczników czasowych. Nawigator/rozdzielacz DVD sprawia, że wszystkie sygnatury czasowe są ciągłe.

Jeśli dekoder zapewnia funkcje dekodowania zarówno audio, jak i wideo, dekoder może używać synchronizacji sprzętowej tylko wtedy, gdy strumień audio jest otwarty jako zegar główny systemu. Jeśli strumień audio nie jest głównym zegarem, strumień wideo musi zsynchronizować dekodowanie wideo z zegarem głównym klasy strumienia.