TT#146201 mark RTCP-capable kernel streams

No functional change

Change-Id: I9d3d56d935156f8941052d56dc62577a80fe92c1
pull/1682/head
Richard Fuchs 2 years ago
parent cf2bbc8a68
commit 9a767fc9c9

@ -1464,6 +1464,7 @@ static const char *kernelize_one(struct rtpengine_target_info *reti, GQueue *out
__re_address_translate_ep(&reti->local, &stream->selected_sfd->socket.local);
reti->rtcp_mux = MEDIA_ISSET(media, RTCP_MUX);
reti->rtcp = PS_ISSET(stream, RTCP);
reti->dtls = MEDIA_ISSET(media, DTLS);
reti->stun = media->ice_agent ? 1 : 0;
reti->non_forwarding = non_forwarding ? 1 : 0;

@ -1740,6 +1740,8 @@ static int proc_list_show(struct seq_file *f, void *v) {
seq_printf(f, " PT-filter");
if (g->target.rtp_only)
seq_printf(f, " RTP-only");
if (g->target.rtcp)
seq_printf(f, " RTCP");
if (g->target.rtcp_mux)
seq_printf(f, " RTCP-mux");
if (g->target.dtls)
@ -5258,8 +5260,14 @@ static unsigned int rtpengine46(struct sk_buff *skb, struct rtpengine_table *t,
// RTP processing
rtp.ok = 0;
if (g->target.rtp) {
if (g->target.rtcp_mux && is_muxed_rtcp(skb))
goto out; // pass to userspace
if (g->target.rtcp) {
if (g->target.rtcp_mux) {
if (is_muxed_rtcp(skb))
goto out; // pass to userspace
}
else
goto out; // RTCP only
}
parse_rtp(&rtp, skb);
if (!rtp.ok && g->target.rtp_only)

@ -124,6 +124,7 @@ struct rtpengine_target_info {
rtp:1,
rtp_only:1,
track_ssrc:1,
rtcp:1,
do_intercept:1,
pt_filter:1,
non_forwarding:1, // empty src/dst addr

Loading…
Cancel
Save