The kernel streaming architecture provides optional support for quality management. This mechanism adjusts flow control to match resource constraints and determines degradation needs in a filter graph. Quality management notifications are sent through a kernel-mode proxy.
Pins that report quality management problems support the KSPROPERTY_STREAM_QUALITY property. This is an optional write-only property that the pin can set to the handle and context parameter of a QM complaint sink. To do this, the pin provides a structure of type KSQUALITY_MANAGER that contains this information. The pin connection in turn uses this information to notify the quality manager of problems using KSQUALITY structures with the given context parameter.
To allow user-mode clients to submit quality management complaints, a minidriver supports properties in KSPROPSETID_Quality.
If the pin allows degradation strategies, the minidriver supports the KSPROPERTY_STREAM_DEGRADATION property.