From: Mike Brady <4265913+mikebrady@users.noreply.github.com> Date: Fri, 16 Sep 2022 19:00:17 +0000 (+0100) Subject: It seems the RTSP link can go idle occasionally, so don't do anything drastic until... X-Git-Tag: 4.1-rc1~20^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4951b8a7d435baa831aae41e973dcf1405c18594;p=thirdparty%2Fshairport-sync.git It seems the RTSP link can go idle occasionally, so don't do anything drastic until it comes back, i.e. don't kill everything when it goes idle. --- diff --git a/rtsp.c b/rtsp.c index 3477bbe8..8188425e 100644 --- a/rtsp.c +++ b/rtsp.c @@ -1281,24 +1281,24 @@ ssize_t read_from_rtsp_connection(rtsp_conn_info *conn, void *buf, size_t count) debug(1, "Connection %d: RTSP connection is idle.", conn->connection_number); conn->rtsp_link_is_idle = 1; #ifdef CONFIG_AIRPLAY_2 - conn->last_anchor_info_is_valid = 0; clear_ptp_clock(); #endif - conn->anchor_remote_info_is_valid = 0; conn->udp_clock_sender_is_initialised = 0; conn->udp_clock_is_initialised = 0; } response = timed_read_from_rtsp_connection(conn, 0, buf, count); } if (conn->rtsp_link_is_idle == 1) { + conn->rtsp_link_is_idle = 0; debug(1, "Connection %d: RTSP connection traffic has resumed.", conn->connection_number); + conn->anchor_remote_info_is_valid = 0; conn->local_to_remote_time_difference_measurement_time = 0; conn->local_to_remote_time_difference = 0; - conn->rtsp_link_is_idle = 0; conn->first_packet_timestamp = 0; conn->input_frame_rate_starting_point_is_valid = 0; ab_resync(conn); #ifdef CONFIG_AIRPLAY_2 + conn->last_anchor_info_is_valid = 0; set_client_as_ptp_clock(conn); #endif }