Merge "res_pjsip_sdp_rtp: Limit number of formats to defined maximum."

changes/80/3680/10
Joshua Colp 9 years ago committed by Gerrit Code Review
commit a380bba1e3

@ -1183,10 +1183,14 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
max_packet_size = ast_format_get_maximum_ms(format);
}
ao2_ref(format, -1);
if (media->desc.fmt_count == PJMEDIA_MAX_SDP_FMT) {
break;
}
}
/* Add non-codec formats */
if (media_type != AST_MEDIA_TYPE_VIDEO) {
if (media_type != AST_MEDIA_TYPE_VIDEO && media->desc.fmt_count < PJMEDIA_MAX_SDP_FMT) {
for (index = 1LL; index <= AST_RTP_MAX; index <<= 1) {
if (!(noncodec & index)) {
continue;
@ -1208,6 +1212,10 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
attr = pjmedia_sdp_attr_create(pool, "fmtp", pj_cstr(&stmp, tmp));
media->attr[media->attr_count++] = attr;
}
if (media->desc.fmt_count == PJMEDIA_MAX_SDP_FMT) {
break;
}
}
}

@ -57,3 +57,9 @@
/* Defaults too low for WebRTC */
#define PJ_ICE_MAX_CAND 32
#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * 2)
/* Increase limits to allow more formats */
#define PJMEDIA_MAX_SDP_FMT 64
#define PJMEDIA_MAX_SDP_BANDW 4
#define PJMEDIA_MAX_SDP_ATTR (PJMEDIA_MAX_SDP_FMT*2 + 4)
#define PJMEDIA_MAX_SDP_MEDIA 16

Loading…
Cancel
Save