Threads and Critical Sections

This section describes threading in DirectShow filters, and the steps you should take to avoid crashes or deadlocks in a custom filter.

The examples in this section use pseudocode to illustrate the code you will need to write. They assume that a custom filter is using classes derived from the DirectShow base classes, as follows:

  • CMyInputPin: Derived from CBaseInputPin.
  • CMyOutputPin: Derived from CBaseOutputPin.
  • CMyFilter: Derived from CBaseFilter.
  • CMyInputAllocator: The input pin's allocator, derived from CMemAllocator. Not every filter needs a custom allocator. For many filters, the CMemAllocator class is sufficient.

This section contains the following topics.

Related topics

Data Flow for Filter Developers
Writing DirectShow Filters