Размер библиотеки функций обработки данных в реальном времени

Опубликовано в Технологии > Серверные технологии Продолжение

Какой объем кода требуется для создания библиотеки программного обеспечения передачи данных в реальном времени, рассчитанной на применение и кодировки выборок, и кодировки кадров? Чтобы найти ответ на этот вопрос, авторы разработали подобную библиотеку. В ней предусмотрена поддержка не только обработки асинхронных событий, но и синхронизации потоков. Эта библиотека включает также код, обеспечивающий обработку сообщений RTCP отправителя и получателя, и обеспечивает повторную буферизацию. Однако авторы стремились в первую очередь сравнить два подхода: с применением библиотеки и с созданием интегрированного приложения, поэтому ограничили набор функциональных средств библиотеки в двух аспектах. Во-первых, библиотека поддерживает только неявное управление временем, поскольку возможность явного управления исключает и применяемый API-интерфейс, и предусмотренные в ней структуры данных. Во-вторых, код библиотеки не включает таких специальных кодировок, как MPEG. Исходный код библиотеки может быть получен в оперативном режиме по адресу:

ftp://ftp.es.purdue.edu/pub/comer/rtplib.tar 

Результирующая реализация содержит свыше 6 тыс. строк кода, не включая кода файла Makefile, состоящего из 1600 строк, или кода приложения. В табл. 28.2 показаны ориентировочные размеры основных разделов кода. Безоперационное лечение. Стерильная упаковка Nutricia. Врачебная помощь.

Пример программы воспроизведения МРЗ

В Internet нашел широкое распространение один из форматов кодировки аудиоинформации, известный под названием3 МРЗ. Для проверки своей библиотеки RTP авторы получили реализацию программы воспроизведения МРЗ по адресу:

http://www.mp3-tech.org/programmer/sources/distl0.tgz 

И адаптировали ее для работы со своей библиотекой. В результате было создано приложение, способное принимать и воспроизводить поток аудиоинформации в кодировке МРЗ. Любопытно отметить, что более чем из 12144 строк исходного кода декодер МРЗ занимает примерно две трети общего объема. Кроме самой программы, при декодировании МРЗ применяются динамически загружаемые таблицы значений; объем этих таблиц учтен при определении общего объема исходного кода.