Udostępnij przez


Informacje o Menedżerze Grafu Filtrów

[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli 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.]

Filter Graph Manager to obiekt COM, który steruje filtrami na grafie filtru. Wykonuje wiele funkcji, w tym następujące:

  • Koordynowanie zmian stanu wśród filtrów.
  • Ustanawianie zegara odniesienia.
  • Przekazywanie zdarzeń z powrotem do aplikacji.
  • Udostępnianie metod dla aplikacji do tworzenia grafu filtru.

Każda z tych funkcji jest krótko opisana tutaj. Szczegółowe informacje można znaleźć w innych miejscach w dokumentacji.

Zmiany stanu. Zmiany stanu w filtrach muszą być wykonywane w określonej kolejności. W związku z tym aplikacja nie wydaje poleceń state-change bezpośrednio do filtrów. Zamiast tego daje jedno polecenie Menedżerowi filtrów programu Graph, które dystrybuuje polecenie do każdego z filtrów. Wyszukiwanie działa w podobny sposób: aplikacja wysyła polecenie wyszukiwania do Menedżera Grafu Filtrów, który rozdziela je między filtry.

zegar odniesienia. Wszystkie filtry na grafie korzystają z tego samego zegara, nazywanego zegarem odniesienia . Zegar odniesienia zapewnia synchronizację wszystkich strumieni. Czas, w którym ramka wideo lub próbka audio powinna zostać wyrenderowana, nazywa się czasem prezentacji. Czas prezentacji jest mierzony względem zegara odniesienia. Menedżer filtru grafu wybiera zegar odniesienia, zazwyczaj zegar na karcie dźwiękowej lub zegar systemowy.

Wydarzenia wykresu. Menedżer filtrów programu Graph używa kolejki zdarzeń do informowania aplikacji o zdarzeniach występujących w grafie filtru. Ten mechanizm jest podobny do pętli komunikatów systemu Windows.

Metody tworzenia grafu. Menedżer filtrów programu Graph udostępnia aplikację metody dodawania filtrów do grafu, łączenia filtrów z innymi filtrami i odłączania filtrów.

Jedną z funkcji, którą menedżer grafu filtrów nie zajmuje się, jest przenoszenie danych z jednego filtru do następnego. Odbywa się to za pomocą samych filtrów, przez ich połączenia stykowe. Przetwarzanie zawsze odbywa się w osobnym wątku.

Notatka

Filtry są zawsze wielowątkowe, znajdują się w tym samym procesie co Menedżer grafu filtrów i są ładowane z serwerów wewnątrzprocesowych. W związku z tym wywołania metod nie są przesyłane między filtrami ani między filtrami a Menedżerem filtrów Graph.

 

Przepływ danych w Filter Graph

Powiadomienie o Zdarzeniu w DirectShow

ustawianie zegara grafu

Czas i Zegary w DirectShow