Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Сообщения качества определяются с помощью структуры качества. Эта структура содержит следующие элементы:
- тип :, определенный перечислением QualityMessageType; либо голод, указывающий, что фильтр получает слишком мало данных, либо наводнение, указывая, что фильтр получает слишком много данных.
- пропорции: запрошенная корректировка скорости данных из базового показателя 1000. Например, 750 указывает 75% и 1500 указывает 150%.
- поздно: время ссылки, указывающее, как поздно прибыл последний пример. Значение отрицательное, если выборка прибыла рано.
- Метка времени: метку времени в последнем примере.
Например, предположим, что пример с меткой времени 240 миллисекунда (мс) достигает отрисовщика в 280 мс, время потока. Отрисовщик создает качественное сообщение типа Famine. Образец прибыл 40 мс поздно, поэтому поздно член составляет 400000. (Все время ссылки находятся в 100-наносекундах.) Элемент TimeStamp составляет 2400000.
Для элемента пропорции отрисовщик может использовать выполняющееся среднее значение для вычисления значения. Возможно, образцы прибыли вовремя, и этот пример является аномалией. В этом случае отрисовщик может запрашивать только небольшое исправление. С другой стороны, если образцы последовательно задерживаются, отрисовщик может запросить более крупное исправление.
Управление качеством обрабатывается через интерфейс IQualityControl. Он содержит два метода.
- уведомлять: отправляет качественное сообщение.
- SetSink: задает пользовательский диспетчер качества.
Объект, реализующий IQualityControl получает сообщения о качестве через метод Notify. Он может обрабатывать сообщение или передавать сообщение другому объекту. Если приложение вызывает метод SetSink объекта, объект должен делегировать управление качеством указанному диспетчеру качества.