From: Jaroslav Kysela Date: Fri, 7 Jul 2017 14:26:00 +0000 (+0200) Subject: satip server: fix the PLAY/SETUP state machine, filter stream in DESCRIBE, fixes... X-Git-Tag: v4.2.4~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdeee1f1c68d9cd21019eac9f9e5ac9d4150b87a;p=thirdparty%2Ftvheadend.git satip server: fix the PLAY/SETUP state machine, filter stream in DESCRIBE, fixes #4474 --- diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index ee3fdca3d..ac5672293 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -620,7 +620,9 @@ pids: rs->udp_rtp ? rs->udp_rtp->fd : hc->hc_fd, rs->udp_rtcp ? rs->udp_rtcp->fd : -1, rs->frontend, rs->findex, &rs->dmc_tuned, - &rs->pids, ocmd == RTSP_CMD_PLAY, rs->perm_lock); + &rs->pids, + ocmd == RTSP_CMD_PLAY || oldstate == STATE_PLAY, + rs->perm_lock); rs->tcp_data = rs->udp_rtp ? NULL : hc; if (!rs->pids.all && rs->pids.count == 0) mpegts_pid_add(&rs->pids, 0, MPS_WEIGHT_RAW); @@ -1310,9 +1312,9 @@ rtsp_process_describe(http_connection_t *hc) if (strcmp(hc->hc_session, rs->session)) continue; rtsp_rearm_session_timer(rs); - if (stream > 0 && rs->stream != stream) - continue; } + if (stream > 0 && rs->stream != stream) + continue; if (satip_server_conf.satip_anonymize && strcmp(hc->hc_peer_ipstr, rs->peer_ipstr)) continue;