Browse Source

MT#62735 fix heuristic learning mode

Change-Id: I2bfd09eefaf6a13f1c7435efa2e07c9ccecfa964
(cherry picked from commit 9068638a4d)
mr13.3
Richard Fuchs 7 months ago
parent
commit
df4dcb0193
2 changed files with 4 additions and 3 deletions
  1. +3
    -2
      daemon/media_socket.c
  2. +1
    -1
      include/call.h

+ 3
- 2
daemon/media_socket.c View File

@ -2522,9 +2522,10 @@ static bool media_packet_address_check(struct packet_handler_ctx *phc)
&& phc->mp.stream->advertised_endpoint.port)
{
// check if we need to reset our learned endpoints
if (memcmp(&rtpe_now, &phc->mp.stream->ep_detect_signal, sizeof(rtpe_now))) {
if ((phc->mp.call->last_signal - phc->mp.stream->ep_detect_signal) != 0) {
memset(&phc->mp.stream->detected_endpoints, 0, sizeof(phc->mp.stream->detected_endpoints));
phc->mp.stream->ep_detect_signal = rtpe_now;
phc->mp.stream->ep_detect_signal = phc->mp.call->last_signal;
}
// possible endpoints that can be detected in order of preference:


+ 1
- 1
include/call.h View File

@ -435,7 +435,7 @@ struct packet_stream {
sink_handler_q rtp_mirrors; /* LOCK: call->master_lock, in_lock for streamhandler */
struct endpoint endpoint; /* LOCK: out_lock */
struct endpoint detected_endpoints[4]; /* LOCK: out_lock */
struct timeval ep_detect_signal; /* LOCK: out_lock */
time_t ep_detect_signal; /* LOCK: out_lock */
struct endpoint advertised_endpoint; /* RO */
struct endpoint learned_endpoint; /* LOCK: out_lock */
struct crypto_context crypto; /* OUT direction, LOCK: out_lock */


Loading…
Cancel
Save