AVStream minidrivers synchronize access to objects by using mutexes and process control gates. For more information about process control gates, see Flow Control Gates in AVStream.
AVStream has three different mutexes, all of which are directly accessible to the minidriver:
Use the device mutex to synchronize hierarchy objects from device to filter. Use the filter control mutex to synchronize objects from filter to pin.
Several AVStream API functions require that particular mutexes be held. Relevant function reference pages state if a specific mutex should be held when calling that particular function.