Телекоммуникационные технологии. Том 1




Определения - часть 17


RTCP_SDES_PRIV = 8

} rtcp_sdes_type_t;

/*

* Заголовок RTP-пакета

*/

typedef struct {

unsigned int version:2; /* версия протокола */

unsigned int p:1; /* флаг заполнителя */

unsigned int x:1; /* Флаг расширения заголовка */

unsigned int cc:4; /* число CSRC */

unsigned int m:1; /* Бит маркера */

unsigned int pt:7; /* тип поля данных */

u_int16 seq; /* номер по порядку */

u_int32 ts; /* временная метка */

u_int32 ssrc; /* источник синхронизации */

u_int32 csrc[1]; /* опционный список CSRC */

} rtp_hdr_t;

/*

* Общее слово RTCP-заголовка

*/

typedef struct {

unsigned int version:2; /* версия протокола */

unsigned int p:1; /* флаг заполнителя */

unsigned int count:5; /* варьируется в зависимости от типа пакета */

unsigned int pt:8; /* тип пакета RTCP */

u_int16 length; /* Длина пакета в словах */

} rtcp_common_t;

/*

* Маска версии, бита заполнителя и типа пакета

*/

#define RTCP_VALID_MASK (0xc000 | 0x2000 | 0xfe)

#define RTCP_VALID_VALUE ((RTP_VERSION << 14) | RTCP_SR)

/*

* Блок отчета о приеме

*/

typedef struct {

u_int32 ssrc; /* Источник, для которого составлен отчет */

unsigned int fraction:8; /* доля потерянных пакетов с момента последнего SR/RR */

int lost:24; /* полное число потерянных пакетов */

u_int32 last_seq; /* номер последнего полученного пакета */

u_int32 jitter; /* разброс времени прихода пакетов */

u_int32 lsr; /* последний SR-пакет от этого источника */

u_int32 dlsr; /* задержка с момента последнего SR пакета */

} rtcp_rr_t;

/*

* элемент SDES

*/

typedef struct {

u_int8 type; /* тип элемента (rtcp_sdes_type_t) */

u_int8 length; /* Длина элемента (в октетах) */

char data[1]; /* текст */

} rtcp_sdes_item_t;

/*

* One RTCP packet

*/

typedef struct {

rtcp_common_t common; /* общий заголовок */

union {

/* sender report (SR) */

struct {

u_int32 ssrc; /* Отправитель, генерирующий этот отчет */

u_int32 ntp_sec; /* временная метка NTP */

u_int32 ntp_frac;

u_int32 rtp_ts; /* временная метка RTP */




Содержание  Назад  Вперед