MT#55283 kernel in/out even in drop case

Pull the kernel in/out checks down below the "out" label, and use the
existing flags from the STUN connect event instead of directly calling
the relevant function.

Change-Id: Ide1ebf0d18446427535d9e63dadf7fdbbddc6c94
rfuchs/2133
Richard Fuchs 3 weeks ago
parent 46e8d6c305
commit 209e5a38dc

@ -3486,7 +3486,10 @@ static int stream_packet(struct packet_handler_ctx *phc) {
if (stun_ret == 0) // packet processed
goto out;
if (stun_ret == 1) {
media_packet_kernel_check(phc);
phc->kernelize = true;
phc->unkernelize_subscriptions = true;
phc->unkernelize = "ICE negotiation event";
phc->update = true;
goto drop;
}
@ -3746,18 +3749,16 @@ next:
ssrc_entry_release(phc->mp.ssrc_out);
}
///////////////// INGRESS POST-PROCESSING HANDLING
if (phc->unkernelize) // for RTCP packet index updates
unkernelize(phc->mp.stream, phc->unkernelize);
if (phc->kernelize)
media_packet_kernel_check(phc);
drop:
ret = 0;
handler_ret = 0;
out:
if (phc->unkernelize)
unkernelize(phc->mp.stream, phc->unkernelize);
if (phc->kernelize)
media_packet_kernel_check(phc);
if (phc->unconfirm) {
stream_unconfirm(phc->mp.stream, "peer address unconfirmed");
unconfirm_sinks(&phc->mp.stream->rtp_sinks, "peer address unconfirmed");

Loading…
Cancel
Save