📄 sdp_accessor.c
字号:
}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 + -