From 209e5a38dc7fa751cd8ecee21c6d711551546c14 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 7 Jul 2026 12:15:16 -0400 Subject: [PATCH] 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 --- daemon/media_socket.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 3a33d75d6..b5362d06d 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -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");