|
|
|
@ -375,6 +375,8 @@ static void append_attr_to_gstring(GString *s, const char * name, const str * va |
|
|
|
sdp_ng_flags *flags, enum media_type media_type); |
|
|
|
static void append_attr_int_to_gstring(GString *s, const char * value, const int additional, |
|
|
|
sdp_ng_flags *flags, enum media_type media_type); |
|
|
|
static void append_tagged_attr_to_gstring(GString *s, const char * name, const str *tag, const str * value, |
|
|
|
sdp_ng_flags *flags, enum media_type media_type); |
|
|
|
|
|
|
|
INLINE struct sdp_attribute *attr_get_by_id(struct sdp_attributes *a, enum attr_id id) { |
|
|
|
return t_hash_table_lookup(a->id_hash, &id); |
|
|
|
@ -2619,8 +2621,7 @@ static void insert_candidate(GString *s, stream_fd *sfd, |
|
|
|
local_pref = ifa->unique_id; |
|
|
|
|
|
|
|
priority = ice_priority_pref(type_pref, local_pref, ps->component); |
|
|
|
g_string_append_printf(s_dst, STR_FORMAT, STR_FMT(&ifa->ice_foundation)); |
|
|
|
g_string_append_printf(s_dst, " %u UDP %lu ", ps->component, priority); |
|
|
|
g_string_append_printf(s_dst, "%u UDP %lu ", ps->component, priority); |
|
|
|
insert_ice_address(s_dst, sfd, flags); |
|
|
|
g_string_append(s_dst, " typ "); |
|
|
|
g_string_append(s_dst, ice_candidate_type_str(type)); |
|
|
|
@ -2629,7 +2630,7 @@ static void insert_candidate(GString *s, stream_fd *sfd, |
|
|
|
insert_raddr_rport(s_dst, sfd, flags); |
|
|
|
|
|
|
|
/* append to the chop->output */ |
|
|
|
append_attr_to_gstring(s, "candidate", &STR_INIT_GS(s_dst), flags, |
|
|
|
append_tagged_attr_to_gstring(s, "candidate", &ifa->ice_foundation, &STR_INIT_GS(s_dst), flags, |
|
|
|
(sdp_media ? sdp_media->media_type_id : MT_UNKNOWN)); |
|
|
|
} |
|
|
|
|
|
|
|
@ -2953,6 +2954,16 @@ static void append_attr_to_gstring(GString *s, const char * name, const str * va |
|
|
|
generic_append_attr_to_gstring(s, name, ':', value, flags, media_type); |
|
|
|
} |
|
|
|
|
|
|
|
/* A function used to append attributes (`a=name:tag value`) to the output chop */ |
|
|
|
static void append_tagged_attr_to_gstring(GString *s, const char * name, const str *tag, const str * value, |
|
|
|
sdp_ng_flags *flags, enum media_type media_type) |
|
|
|
{ |
|
|
|
g_autoptr(GString) n = g_string_new(name); |
|
|
|
g_string_append_c(n, ':'); |
|
|
|
g_string_append_len(n, tag->s, tag->len); |
|
|
|
generic_append_attr_to_gstring(s, n->str, ' ', value, flags, media_type); |
|
|
|
} |
|
|
|
|
|
|
|
/* A function used to append attributes to the output chop */ |
|
|
|
static void append_attr_int_to_gstring(GString *s, const char * name, const int value, |
|
|
|
sdp_ng_flags *flags, enum media_type media_type) |
|
|
|
|