Previous Next

Restarting Processing in AVStream

AVStream stops processing if:

AVStream initiates processing when new data arrives into a previously empty queue. Therefore, if the minidriver's processing dispatch returns STATUS_PENDING when the associated queues are full, the minidriver will never be called on to resume processing. If the minidriver sets STATUS_PENDING, it is the minidriver's responsibility to call KsPinAttemptProcessing or KsFilterAttemptProcessing in order to resume processing.

Do not return STATUS_SUCCESS from the processing dispatch if your minidriver did not actually process data. This causes AVStream to immediately recall the minidriver, resulting in an infinite loop between AVStream and the processing dispatch.