Поделиться через


Указание кадрирования распределителя в кодеках AVStream

Как правило, требования к распределителю для контакта KS определяют физический размер буферов потоковой передачи, предоставляемых AVStream.

Однако поскольку входные контакты просто передают примеры ниже, требования к размеру буфера, указанные в KSALLOCATOR_FRAMING_EX входного контакта (KS_FRAMING_ITEM. PhysicalRange) не используются. Драйвер по-прежнему должен определять размер входного кадра после установки типа носителя и соответствующим образом настраивать его внутренние структуры.

Хотя драйверы не могут влиять на размер кадра на входных контактах, максимальное количество незавершенных кадров (KS_FRAMING_ITEM. Кадры) зависят от требований к распределителю контактов. Для плавного потока данных между компонентами потоковой передачи и уменьшения числа сбоев рекомендуется, чтобы фильтры кодировщика и декодера имели входные и выходные контакты, поддерживающие как минимум три незавершенных кадра.

Помимо предоставления сведений о кадре распределителя в KSPIN_DESCRIPTOR_EX во время инициализации устройства, драйвер также должен обновить соответствующую структуру KSALLOCATOR_FRAMING_EX . Это обновление должно основываться на типе носителя подключения контакта в предоставленной поставщиком процедуре обратного вызова AVStrMiniPinSetDataFormat .