- Pin [in]
Pointer to the KSPIN that has frame data available to process.
Return STATUS_SUCCESS to continue processing. Return STATUS_PENDING to stop processing until the next triggering event.
The minidriver specifies this routine's address in the Process member of its KSPIN_DISPATCH structure.
Indicate that a filter uses Pin-Centric Processing by providing this dispatch function. The minidriver sets pin flags in the relevant KSPIN_DESCRIPTOR_EX structure that determine when AVStream calls AVStrMiniPinProcess. If the minidriver sets no flags in the descriptor, the default behavior is that AVStream calls AVStrMiniPinProcess when new data arrives into a previously empty queue. See Pin-Centric Processing for more details on processing triggers.
After processing, the minidriver can prevent the frame from being completed by cloning the leading edge stream pointer. To do this, call KsStreamPointerClone. See Leading and Trailing Edge Stream Pointers.
Alternatively, specify a distinct trailing edge by setting KSPIN_FLAG_DISTINCT_TRAILING_EDGE on KSPIN_DESCRIPTOR_EX. A third option is not to advance the leading edge stream pointer.
The process dispatch is either made at the default IRQL = PASSIVE_LEVEL, or possibly at DISPATCH_LEVEL if the minidriver has specified KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING in the relevant KSPIN_DESCRIPTOR_EX.
This routine is optional.
|Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.|
|(See Remarks section)|
- Pin-Centric Processing
- Filter-Centric Processing