Протоколы Internet


Транспортный протокол реального времени RTCP - часть 23


senders: Число активных отправителей на момент посылки последнего отчета, известно из конструкции отчетов получателя.

members: Оценка числа членов сессии, включая нас самих. Инкрементируется, когда мы обнаруживаем новых членов сессии при получении RTP или RTCP-пакетов, и декрементируется, когда какой-либо участник покидает сессию (послав RTCP BYE) или он объявлен таковым по тайм-ауту (рекомендуемое время 30 минут). При первом вызове этот параметр должен иметь значение 1.

we_sent: Флаг, который равен true, если мы послали данные за время последних двух интервалов RTCP. Если флаг равен true, составной только что посланный пакет RTCP содержит SR пакет.

packet_size: Размер составного только что посланного пакета RTCP, в октетах, включая сетевую инкапсуляцию (напр., 28 октетов для UDP поверх IP).

avg_rtcp_size: Указатель оценщика размера составных пакетов RTCP; инициализируется и актуализуется для только что посланного пакета этой функцией, актуализуется также идентичной строкой программы приема пакетов RTCP для каждого пакета RTCP, полученного от другого участника сессии.

initial: Флаг, который равен true для первого вызова при инициализации с целью вычисления момента посылки первого отчета.

#include

double rtcp_interval(int members,

int senders,

double rtcp_bw,

int we_sent,

int packet_size,

int *avg_rtcp_size,

int initial)

{

/*

* Минимальное время между пакетами RTCP от данного узла (в секундах). Это время

* предотвращает группирование отчетов, когда в сессии участвует малое число

* участников. Это препятствует чрезмерному уменьшению интервалов межу отчетами.

*/

double const RTCP_MIN_TIME = 5.;

/*

* Доля полосы RTCP, которая должна быть поделена между активными участниками.

* (Эта доля была выбрана так, чтобы в типовой сессии с одним или двумя

* активными отправителями, вычисленный период посылки отчетов был примерно

* равен минимальному интервалу между отчетами. Доля получателя должна равняться

* 1 – доля отправителя.

*/

double const RTCP_SENDER_BW_FRACTION = 0.25;




Начало  Назад  Вперед



Книжный магазин