TT#89352 report SDP errors

Change-Id: Idf6522f63691f066cfae2f2337c4d605f5d5feb5
pull/1346/head
Richard Fuchs 4 years ago
parent 853fed7a83
commit 24665ebc90

@ -2755,18 +2755,24 @@ error:
}
int sdp_create(str *out, struct call_monologue *monologue, struct sdp_ng_flags *flags) {
const char *err = NULL;
GString *s = NULL;
err = "Need at least one media";
if (!monologue->medias.length)
return -1; // need at least one media
goto err;
// grab first components
struct call_media *media = monologue->medias.head->data;
err = "No media stream";
if (!media->streams.length)
return -1;
goto err;
struct packet_stream *first_ps = media->streams.head->data;
err = "No packet stream";
if (!first_ps->selected_sfd)
return -1;
goto err;
GString *s = g_string_new("v=0\r\no=- ");
s = g_string_new("v=0\r\no=- ");
// init session params
if (!monologue->sdp_session_id)
@ -2783,12 +2789,15 @@ int sdp_create(str *out, struct call_monologue *monologue, struct sdp_ng_flags *
for (GList *l = monologue->medias.head; l; l = l->next) {
media = l->data;
err = "Zero length media stream";
if (!media->streams.length)
goto err;
GList *rtp_ps_link = media->streams.head;
struct packet_stream *rtp_ps = rtp_ps_link->data;
err = "No selected FD";
if (!rtp_ps->selected_sfd)
goto err;
err = "Unknown media protocol";
if (media->protocol)
g_string_append_printf(s, "m=" STR_FORMAT " %i %s",
STR_FMT(&media->type),
@ -2813,7 +2822,9 @@ int sdp_create(str *out, struct call_monologue *monologue, struct sdp_ng_flags *
g_string_free(s, FALSE);
return 0;
err:
g_string_free(s, TRUE);
if (s)
g_string_free(s, TRUE);
ilog(LOG_ERR, "Failed to create SDP: %s", err);
return -1;
}

Loading…
Cancel
Save