MT#63317 annotate rtcp_payload

Change-Id: I2a08441c0c7e262d3d7a43e8fabc0a5766de7c7f
pull/2008/head
Richard Fuchs 6 months ago
parent f4724b2eae
commit eddff91357

@ -2350,7 +2350,7 @@ static void media_packet_rtp_in(struct packet_handler_ctx *phc)
g_atomic_pointer_set(&phc->mp.stream->rtp_stats_cache, rtp_s);
}
}
else if (phc->rtcp && !rtcp_payload(&phc->mp.rtcp, NULL, &phc->s)) {
else if (phc->rtcp && (phc->mp.rtcp = rtcp_payload(NULL, &phc->s))) {
unkern = __stream_ssrc_in(phc->in_srtp, phc->mp.rtcp->ssrc, &phc->mp.ssrc_in,
&phc->mp.media->ssrc_hash_in);
}

@ -797,7 +797,7 @@ error:
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;
const char *err;
@ -829,17 +829,16 @@ int rtcp_payload(struct rtcp_packet **out, str *p, const str *s) {
ok:
if (!p)
goto done;
return rtcp;
*p = *s;
str_shift(p, sizeof(*rtcp));
done:
*out = rtcp;
return 0;
return rtcp;
error:
ilogs(rtcp, LOG_DEBUG | LOG_FLAG_LIMIT, "Error parsing RTCP header: %s", err);
return -1;
return NULL;
}
/* 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))
return -1;
if (rtcp_payload(&rtcp, &payload, s))
if (!(rtcp = rtcp_payload(&payload, s)))
return -1;
if (check_session_keys(c))
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))
return -1;
if (rtcp_payload(&rtcp, &payload, s))
if (!(rtcp = rtcp_payload(&payload, s)))
return -1;
if (check_session_keys(c))
return -1;

@ -20,7 +20,8 @@ extern struct rtcp_handler *rtcp_sink_handler;
int rtcp_avp2savp(str *, struct crypto_context *, struct ssrc_entry_call *);
int rtcp_savp2avp(str *, struct crypto_context *, struct ssrc_entry_call *);
int rtcp_payload(struct rtcp_packet **out, str *p, const str *s);
__attribute__((nonnull(2)))
struct rtcp_packet *rtcp_payload(str *p, const str *s);
int rtcp_parse(GQueue *q, struct media_packet *);
void rtcp_list_free(GQueue *q);

Loading…
Cancel
Save