MT#63317 select kernel output group from PT

Change-Id: Ia818c42ffa8db916c37df87d239187bec1646d9f
rfuchs/dtls-ice
Richard Fuchs 8 months ago
parent 607866ed13
commit e3a9eeea00

@ -6303,6 +6303,7 @@ static unsigned int rtpengine46(struct sk_buff *skb, struct sk_buff *oskb,
unsigned int start_idx, end_idx; unsigned int start_idx, end_idx;
enum {NOT_RTCP = 0, RTCP, RTCP_FORWARD} is_rtcp; enum {NOT_RTCP = 0, RTCP, RTCP_FORWARD} is_rtcp;
ktime_t packet_ts; ktime_t packet_ts;
unsigned int output_group_idx = 0;
struct rtpengine_output_group *output_group; struct rtpengine_output_group *output_group;
skb_reset_transport_header(skb); skb_reset_transport_header(skb);
@ -6411,10 +6412,14 @@ static unsigned int rtpengine46(struct sk_buff *skb, struct sk_buff *oskb,
if (g->target.pt_filter) if (g->target.pt_filter)
goto out; goto out;
} }
else if (ssrc_idx >= 0 && g->target.ssrc_stats[ssrc_idx]) { else {
atomic_set(&g->target.ssrc_stats[ssrc_idx]->last_pt, output_group_idx = g->target.pt_media_idx[rtp_pt_idx];
g->target.pt_stats[rtp_pt_idx]->payload_type);
atomic64_set(&g->target.ssrc_stats[ssrc_idx]->last_packet_us, packet_ts); if (ssrc_idx >= 0 && g->target.ssrc_stats[ssrc_idx]) {
atomic_set(&g->target.ssrc_stats[ssrc_idx]->last_pt,
g->target.pt_stats[rtp_pt_idx]->payload_type);
atomic64_set(&g->target.ssrc_stats[ssrc_idx]->last_packet_us, packet_ts);
}
} }
errstr = "SRTP decryption failed"; errstr = "SRTP decryption failed";
@ -6474,7 +6479,7 @@ static unsigned int rtpengine46(struct sk_buff *skb, struct sk_buff *oskb,
} }
// output // output
output_group = &g->target.media_output_idxs[0]; output_group = &g->target.media_output_idxs[output_group_idx];
start_idx = (is_rtcp != NOT_RTCP) ? output_group->rtcp_start_idx : output_group->rtp_start_idx; start_idx = (is_rtcp != NOT_RTCP) ? output_group->rtcp_start_idx : output_group->rtp_start_idx;
end_idx = (is_rtcp != NOT_RTCP) ? output_group->rtcp_end_idx : output_group->rtp_end_idx; end_idx = (is_rtcp != NOT_RTCP) ? output_group->rtcp_end_idx : output_group->rtp_end_idx;

Loading…
Cancel
Save