Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
ВВЕДЕНИЕ В МУЛЬТИМЕДИА_72
22.12.2012 21:46
|
Независимо от выбранного варианта приложение не может принимать и обрабатывать пакеты непрерывно. Входные очереди сглаживают флуктуации для процесса проигрывания в приложении, но что делать с задержками в поступлении пакетов? К счастью, большинство операци- онных систем общего назначения управляют приемкой пакетов UDP/IP на основе управления прерываниями и могут буферизовать пакеты на уровне сокета, даже если в это время принимающее приложение занято. Принятый по умолчанию буфер сокета подходит для большинства приложений, но приложения, работающие с высокоскоростными сетями, могут увеличить размер буфера до необходимого. Правда, это может привести к увеличению задержек в получении пакетов, но в приложении можно, соответственно, увеличить значение задержки проигрывания, что компенсирует данный отрицательный эффект. 6.5.2. Получение управляющих пакетов Параллельно процессу приемки пакетов данных приложение должно быть готово к получению, проверке, обработке и отсылке пакетов RTCP. Информация пакетов RTCP используется при создании базы данных об участниках сессии, как было описано в предыдущей главе, а также для проверки и идентификации участников, адаптации параметров сети и синхронизации звука и изображения. Одноканальные приложения обычно обрабатывают и пакеты данных, и пакеты RTCP в одном цикле. Многоканальные приложения выделяют одну ветвь для приема и обработки управляющих пакетов. Так как частота появления пакетов RTCP намного меньше, чем для пакетов данных, загрузка их обработчика невелика и некритична по времени. Однако следует запоминать точное время прибытия пакетов SR с отчетами отправителя, так как это время используется при генерации пакета RR получателя и участвует в вычислении времени передачи по сети. После получения пакета RTCP с отчетом отправителя или получателя содержащаяся в нем информация сохраняется. Синтаксический разбор блоков отчетов в пакетах SR и RR достаточно несложен. Поле count в заголовке пакета RTCP показывает количество блоков отчета, причем значение 0 допустимо и показывает, что отправитель пакета RTCP не получал пакетов данных RTP. Главным назначением пакетов RTCP является отслеживание качества приемки отправленных пакетов с данными. Если отчеты показывают плохое качество приема, то можно либо добавить коды предупреждения ошибок, либо уменьшить скорость отправки пакетов. В сессии с несколькими отправителями можно отслеживать качество других отправителей. Приложения обычно сохраняют информацию из отчетов для последующего ее использования при подстройке процесса передачи данных. |