Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Типы фильтров и форматов

Уведомление приложений о выполнении операций

Синхронные и асинхронные драйверы

Как и драйверы звуковых адаптеров, драйверы ACM также могут быть синхронными и асинхронными. Практически все программные драйверы являются синхронными; драйверы с аппаратной поддержкой обычно делаются асинхронными. Для асинхронных драйверов предусмотрена очередь входных заданий и механизм уведомления приложения о завершении ранее запрошенных операций; синхронные драйверы не возвращают приложению управления до тех пор, пока не будет завершена запрошенная операция.

   

ACM поддерживает два вида уведомления приложения: о выполнении запрошенных операций над потоком преобразования и об изменении приоритетов и состояний глобальных драйверов ACM.

Механизм уведомления о выполнении операций над потоками полностью аналогичен базовой звуковой подсистеме MME/Wave, за одним исключением: по непонятной причине не поддерживаются сообщения задаче (thread). Таким образом, для уведомления может быть либо активизирован объект события (event), либо вызвана функция приложения, либо отправлено сообщение одному из окон приложения. Приложение уведомляется о наступлении каждого из трех событий потока: успешное завершение функций открывания и закрывания потока, завершение операции преобразования. Вид уведомления задается при открывании потока функцией acmStreamOpen.

Для уведомления об изменении приоритетов и состояний драйверов заданному окну приложения посылается заданное сообщение Windows. Окно и сообщение задаются подобно установке нового драйвера — функцией acmDriverAdd. Окно, получающее такие сообщения, называется окном уведомления (notification window).

   

Основной характеристикой фильтра или формата является его тип — способ обработки данных в фильтре (эхо, усиление/ослабление) или способ представления данных в формате (PCM, ADPCM, MPEG и т.п.).

Конкретные форматы и фильтры внутри каждого типа отличаются только параметрами: частотой дискретизации, разрядностью отсчета, тонкостями кодирования — для форматов, степенью усиления/ослабления сигнала, величиной задержки — для фильтров. Основные же характеристики — способ представления и вид обработки — в пределах одного типа остаются неизменными.

Каждому типу фильтров и форматов присвоен свой уникальный код (tag), который однозначно идентифицирует его в подсистеме сжатия. Коды типов имеют неизменные числовые значения и для обеспечения уникальности должны быть зарегистрированы в Microsoft. Наряду с кодами типов ACM использует также индексы (внутренние номера) типов фильтров/форматов, поддерживаемых каждым из драйверов. Индексы не имеют с кодами ничего общего: они отражают лишь порядковые номера фильтров/форматов различного типа в служебных списках драйвера. При помощи индексов удобно последовательно перебирать все типы фильтров/форматов, поддерживаемые заданным драйвером.

<== предыдущая лекция | следующая лекция ==>
Аппаратная поддержка драйверов | Потоки преобразования
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 274; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.