⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdp_accessor.c

📁 libosip2-3.0.3最新版本
💻 C
📖 第 1 页 / 共 2 页
字号:
}char *sdp_message_t_stop_time_get (sdp_message_t * sdp, int pos_td){  sdp_time_descr_t *td;  if (sdp == NULL)    return NULL;  td = (sdp_time_descr_t *) osip_list_get (&sdp->t_descrs, pos_td);  if (td == NULL)    return NULL;  return td->t_stop_time;}intsdp_message_r_repeat_add (sdp_message_t * sdp, int pos_time_descr, char *field){  sdp_time_descr_t *td;  if (sdp == NULL)    return -1;  td = (sdp_time_descr_t *) osip_list_get (&sdp->t_descrs, pos_time_descr);  if (td == NULL)    return -1;  osip_list_add (&td->r_repeats, field, -1);  return 0;}char *sdp_message_r_repeat_get (sdp_message_t * sdp, int pos_time_descr, int pos_repeat){  sdp_time_descr_t *td;  if (sdp == NULL)    return NULL;  td = (sdp_time_descr_t *) osip_list_get (&sdp->t_descrs, pos_time_descr);  if (td == NULL)    return NULL;  return (char *) osip_list_get (&td->r_repeats, pos_repeat);}intsdp_message_z_adjustments_set (sdp_message_t * sdp, char *field){  if (sdp == NULL)    return -1;  sdp->z_adjustments = field;  return 0;}char *sdp_message_z_adjustments_get (sdp_message_t * sdp){  if (sdp == NULL)    return NULL;  return sdp->z_adjustments;}intsdp_message_k_key_set (sdp_message_t * sdp, int pos_media, char *keytype,                       char *keydata){  sdp_key_t *key;  sdp_media_t *med;  if (sdp == NULL)    return -1;  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return -1;  sdp_key_init (&key);  key->k_keytype = keytype;  key->k_keydata = keydata;  if (pos_media == -1)    {      sdp->k_key = key;      return 0;    }  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  med->k_key = key;  return 0;}char *sdp_message_k_keytype_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med;  if (sdp == NULL)    return NULL;  if (pos_media == -1)    {      if (sdp->k_key == NULL)        return NULL;      return sdp->k_key->k_keytype;    }  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return NULL;  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  if (med->k_key == NULL)    return NULL;  return med->k_key->k_keytype;}char *sdp_message_k_keydata_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med;  if (sdp == NULL)    return NULL;  if (pos_media == -1)    {      if (sdp->k_key == NULL)        return NULL;      return sdp->k_key->k_keydata;    }  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return NULL;  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  if (med->k_key == NULL)    return NULL;  return med->k_key->k_keydata;}intsdp_message_a_attribute_add (sdp_message_t * sdp, int pos_media,                             char *att_field, char *att_value){  int i;  sdp_media_t *med;  sdp_attribute_t *attr;  if (sdp == NULL)    return -1;  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return -1;  i = sdp_attribute_init (&attr);  if (i != 0)    return -1;  attr->a_att_field = att_field;  attr->a_att_value = att_value;  if (pos_media == -1)    {      osip_list_add (&sdp->a_attributes, attr, -1);      return 0;    }  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  osip_list_add (&med->a_attributes, attr, -1);  return 0;}intsdp_message_a_attribute_del (sdp_message_t * sdp, int pos_media, char *att_field){  int i;  sdp_media_t *med;  sdp_attribute_t *attr;  if (sdp == NULL)    return -1;  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return -1;  if (pos_media == -1)    {      for (i = 0; i < osip_list_size (&sdp->a_attributes);)        {          attr = osip_list_get (&sdp->a_attributes, i);          if (strcmp (attr->a_att_field, att_field) == 0)            {              osip_list_remove (&sdp->a_attributes, i);              sdp_attribute_free (attr);          } else            i++;        }      return 0;    }  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return -1;  for (i = 0; i < osip_list_size (&med->a_attributes);)    {      attr = osip_list_get (&med->a_attributes, i);      if (strcmp (attr->a_att_field, att_field) == 0)        {          osip_list_remove (&med->a_attributes, i);          sdp_attribute_free (attr);      } else        i++;    }  return 0;}intsdp_message_a_attribute_del_at_index (sdp_message_t * sdp, int pos_media,                                      char *att_field, int pos_attr){  int i;  sdp_media_t *med;  sdp_attribute_t *attr;  if (sdp == NULL)    return -1;  if ((pos_media != -1) && (osip_list_size (&sdp->m_medias) < pos_media + 1))    return -1;  if (pos_media == -1)    {      if (pos_attr == -1)        {          for (i = 0; i < osip_list_size (&sdp->a_attributes);)            {              attr = osip_list_get (&sdp->a_attributes, i);              if (strcmp (attr->a_att_field, att_field) == 0)                {                  osip_list_remove (&sdp->a_attributes, i);                  sdp_attribute_free (attr);              } else                i++;            }      } else if ((attr = osip_list_get (&sdp->a_attributes, pos_attr)) != NULL)        {          osip_list_remove (&sdp->a_attributes, pos_attr);          sdp_attribute_free (attr);        }      return 0;    }  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return -1;  for (i = 0; i < osip_list_size (&med->a_attributes);)    {      if (pos_attr == -1)        {          attr = osip_list_get (&med->a_attributes, i);          if (strcmp (attr->a_att_field, att_field) == 0)            {              osip_list_remove (&med->a_attributes, i);              sdp_attribute_free (attr);          } else            i++;      } else if ((attr = osip_list_get (&med->a_attributes, pos_attr)) != NULL)        {          osip_list_remove (&med->a_attributes, pos_attr);          sdp_attribute_free (attr);        }    }  return 0;}sdp_attribute_t *sdp_message_attribute_get (sdp_message_t * sdp, int pos_media, int pos){  sdp_media_t *med;  if (sdp == NULL)    return NULL;  if (pos_media == -1)    return (sdp_attribute_t *) osip_list_get (&sdp->a_attributes, pos);  med = (sdp_media_t *) osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return (sdp_attribute_t *) osip_list_get (&med->a_attributes, pos);}char *sdp_message_a_att_field_get (sdp_message_t * sdp, int pos_media, int pos){  sdp_attribute_t *attr = sdp_message_attribute_get (sdp, pos_media, pos);  if (attr == NULL)    return NULL;  return attr->a_att_field;}char *sdp_message_a_att_value_get (sdp_message_t * sdp, int pos_media, int pos){  sdp_attribute_t *attr = sdp_message_attribute_get (sdp, pos_media, pos);  if (attr == NULL)    return NULL;  return attr->a_att_value;}intsdp_message_endof_media (sdp_message_t * sdp, int i){  if (sdp == NULL)    return -1;  if (i == -1)    return 0;  if (!osip_list_eol (&sdp->m_medias, i))    return 0;                   /* not end of list */  return -1;                    /* end of list */}intsdp_message_m_media_add (sdp_message_t * sdp, char *media,                         char *port, char *number_of_port, char *proto){  int i;  sdp_media_t *med;  i = sdp_media_init (&med);  if (i != 0)    return -1;  med->m_media = media;  med->m_port = port;  med->m_number_of_port = number_of_port;  med->m_proto = proto;  osip_list_add (&sdp->m_medias, med, -1);  return 0;}char *sdp_message_m_media_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return med->m_media;}char *sdp_message_m_port_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return med->m_port;}char *sdp_message_m_number_of_port_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return med->m_number_of_port;}intsdp_message_m_port_set (sdp_message_t * sdp, int pos_media, char *port){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return -1;  if (med->m_port)    osip_free (med->m_port);  med->m_port = port;  return 0;}char *sdp_message_m_proto_get (sdp_message_t * sdp, int pos_media){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return med->m_proto;}intsdp_message_m_payload_add (sdp_message_t * sdp, int pos_media, char *payload){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return -1;  osip_list_add (&med->m_payloads, payload, -1);  return 0;}char *sdp_message_m_payload_get (sdp_message_t * sdp, int pos_media, int pos){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  if (med == NULL)    return NULL;  return (char *) osip_list_get (&med->m_payloads, pos);}intsdp_message_m_payload_del (sdp_message_t * sdp, int pos_media, int pos){  sdp_media_t *med = osip_list_get (&sdp->m_medias, pos_media);  char *payload;  if (med == NULL)    return -1;  if ((payload = osip_list_get (&med->m_payloads, pos)) == NULL)    return -1;  osip_list_remove (&med->m_payloads, pos);  osip_free (payload);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -