Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
AVStream останавливает обработку, если выполняется одно из следующих условий:
В среде, ориентированной на пин, в данный момент нет доступных данных.
В среде, ориентированной на фильтры, по крайней мере один контакт, для которого член флагов структуры KSPIN_DESCRIPTOR_EX не задает KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING, не имеет данных, которые ожидают обработки. По умолчанию этот флаг не задан.
Подпрограмма обратного вызова диспетчера обработки минидрайвера возвращает STATUS_PENDING независимо от доступности кадров. Обратите внимание, что диспетчер обработки может быть либо AVStrMiniFilterProcess, либо AVStrMiniPinProcess, в зависимости от того, реализует ли минидрайвер обработку, ориентированную на пин, или обработку, ориентированную на фильтр.
AVStream инициирует обработку при поступлении новых данных в ранее пустую очередь. Таким образом, если при обработке минидрайвера возвращается STATUS_PENDING, когда связанные очереди переполнены, минидрайвер никогда не будет вызван для возобновления обработки. Если минидрайвер задает STATUS_PENDING, минидрайвер должен вызвать KsPinAttemptProcessing или KsFilterAttemptProcessing для возобновления обработки.
Не возвращайте STATUS_SUCCESS при обработке данных, если минидрайвер фактически не обрабатывает данные. Это вызывает то, что AVStream немедленно снова вызывает минидрайвер, в результате чего возникает бесконечный цикл между AVStream и диспетчером обработки.