Threads et sections critiques
cette section décrit les threads dans les filtres de DirectShow, ainsi que les étapes à suivre pour éviter les blocages ou les blocages dans un filtre personnalisé.
Les exemples de cette section utilisent un pseudocode pour illustrer le code que vous devrez écrire. ils supposent qu’un filtre personnalisé utilise des classes dérivées des classes de base DirectShow, comme suit :
- CMyInputPin : dérivée de CBaseInputPin.
- CMyOutputPin : dérivée de CBaseOutputPin.
- CMyFilter : dérivée de CBaseFilter.
- CMyInputAllocator : Allocator du code confidentiel d’entrée, dérivé de CMemAllocator. Tous les filtres n’ont pas besoin d’un allocateur personnalisé. Pour de nombreux filtres, la classe CMemAllocator est suffisante.
Cette section contient les rubriques suivantes :
- Threads de diffusion en continu et d’application
- Suspension
- Réception et envoi d’exemples
- Transmission de la fin du flux
- Vidage des données
- En cours d’arrêt
- Obtention de mémoires tampons
- Streaming threads et Filter Graph Manager
- Résumé du thread de filtre