Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Filtry AVStream obsługują zegary na pinach.
Aby wskazać, że pin AVStream udostępnia zegar, ustaw KSPIN_FLAG_IMPLEMENT_CLOCK w elemencie Flags pierwszego KSPIN_DESCRIPTOR_EX w elemencie PinDescriptorsKSFILTER_DESCRIPTOR.
Ponadto podaj wskaźnik do struktury KSCLOCK_DISPATCH w KSPIN_DISPATCH.
Aby wysyłać żądania zegara, użyj metod zdefiniowanych w interfejsie IKsReferenceClock . Interfejs IKsReferenceClock można uzyskać, wywołując interfejs KsPinGetReferenceClockInterface. Minidriver AVStream jest odpowiedzialny za zwolnienie interfejsu po zakończeniu.
Aby uzyskać wartości czasomierza do umieszczenia w polu PresentationTimeKSSTREAM_HEADER, wywołaj metodę IKsReferenceClock::GetCorrelatedTime.
Należy pamiętać, że zegar nigdy nie jest wyświetlany w grafedycie, nawet jeśli zegar został wybrany.
Aby sprawdzić, czy zegar został wybrany, sprawdź, czy wywołania metod IKsReferenceClock generują wywołania wysyłania procedur określonych w KSCLOCK_DISPATCH.
Menedżer wykresu filtru wybiera zegar, gdy wykres przechodzi do stanu wstrzymania. Każdy filtr, który jest źródłem wypychania, na przykład filtr przechwytujący, jest preferowany jako dostawca zegara.