|
|
@ -797,7 +797,7 @@ error: |
|
|
return -1; |
|
|
return -1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
int rtcp_payload(struct rtcp_packet **out, str *p, const str *s) { |
|
|
|
|
|
|
|
|
struct rtcp_packet *rtcp_payload(str *p, const str *s) { |
|
|
struct rtcp_packet *rtcp; |
|
|
struct rtcp_packet *rtcp; |
|
|
const char *err; |
|
|
const char *err; |
|
|
|
|
|
|
|
|
@ -829,17 +829,16 @@ int rtcp_payload(struct rtcp_packet **out, str *p, const str *s) { |
|
|
|
|
|
|
|
|
ok: |
|
|
ok: |
|
|
if (!p) |
|
|
if (!p) |
|
|
goto done; |
|
|
|
|
|
|
|
|
return rtcp; |
|
|
|
|
|
|
|
|
*p = *s; |
|
|
*p = *s; |
|
|
str_shift(p, sizeof(*rtcp)); |
|
|
str_shift(p, sizeof(*rtcp)); |
|
|
|
|
|
|
|
|
done: |
|
|
|
|
|
*out = rtcp; |
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
return rtcp; |
|
|
|
|
|
|
|
|
error: |
|
|
error: |
|
|
ilogs(rtcp, LOG_DEBUG | LOG_FLAG_LIMIT, "Error parsing RTCP header: %s", err); |
|
|
ilogs(rtcp, LOG_DEBUG | LOG_FLAG_LIMIT, "Error parsing RTCP header: %s", err); |
|
|
return -1; |
|
|
|
|
|
|
|
|
return NULL; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* rfc 3711 section 3.4 */ |
|
|
/* rfc 3711 section 3.4 */ |
|
|
@ -851,7 +850,7 @@ int rtcp_avp2savp(str *s, struct crypto_context *c, struct ssrc_entry_call *ssrc |
|
|
|
|
|
|
|
|
if (G_UNLIKELY(!ssrc_ctx)) |
|
|
if (G_UNLIKELY(!ssrc_ctx)) |
|
|
return -1; |
|
|
return -1; |
|
|
if (rtcp_payload(&rtcp, &payload, s)) |
|
|
|
|
|
|
|
|
if (!(rtcp = rtcp_payload(&payload, s))) |
|
|
return -1; |
|
|
return -1; |
|
|
if (check_session_keys(c)) |
|
|
if (check_session_keys(c)) |
|
|
return -1; |
|
|
return -1; |
|
|
@ -900,7 +899,7 @@ int rtcp_savp2avp(str *s, struct crypto_context *c, struct ssrc_entry_call *ssrc |
|
|
|
|
|
|
|
|
if (G_UNLIKELY(!ssrc_ctx)) |
|
|
if (G_UNLIKELY(!ssrc_ctx)) |
|
|
return -1; |
|
|
return -1; |
|
|
if (rtcp_payload(&rtcp, &payload, s)) |
|
|
|
|
|
|
|
|
if (!(rtcp = rtcp_payload(&payload, s))) |
|
|
return -1; |
|
|
return -1; |
|
|
if (check_session_keys(c)) |
|
|
if (check_session_keys(c)) |
|
|
return -1; |
|
|
return -1; |
|
|
|