Zarządzanie opóźnieniem pisania
[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Zastąpiono go przez czytnik źródła i rejestrator danych . Czytnik źródłowy i Zapis ujścia zostały zoptymalizowane pod kątem Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania ujścia zamiast zestawu SDK windows Media Format 11, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Przetwarzanie próbek przez autora zajmuje trochę czasu. Czas między przekazaniem próbki wejściowej a zapisem próbki wyjściowej jest nazywany opóźnieniem zapisującego. Kilka czynników przyczynia się do opóźnienia zapisu i można je zmniejszyć na kilka sposobów.
Najbardziej oczywistym czynnikiem zaangażowanym w opóźnienie zapisu jest czas potrzebny na kompresję próbki. W większości przypadków będziesz mieć niewielką kontrolę nad tym. Jeśli przepustowość nie jest dużym problemem, możesz zmniejszyć opóźnienie przy użyciu mniejszej kompresji. Oczywiście można osiągnąć najmniejsze opóźnienie, przekazując próbki, które są już skompresowane.
Następnym czynnikiem i jednym, nad którym zwykle masz kontrolę, jest kolejność przekazywania próbek do czytnika. Możesz osiągnąć lepsze opóźnienie, przekazując próbki w kolejności czasu prezentacji i zapewniając, że próbki wejściowe są dobrze synchronizowane między wszystkimi strumieniami wejściowymi. Im większa rozbieżność w czasie prezentacji między próbkami dla różnych strumieni, tym większe będzie opóźnienie. Możesz ustawić maksymalną rozbieżność między przykładami wejściowymi, wywołując IWMWriterAdvanced::SetSyncTolerance.
Tematy pokrewne