diff --git a/src/input/mpegts/satip/satip_frontend.c b/src/input/mpegts/satip/satip_frontend.c index f9193c3..1b85ecc 100644 --- a/src/input/mpegts/satip/satip_frontend.c +++ b/src/input/mpegts/satip/satip_frontend.c @@ -154,6 +154,16 @@ const idclass_t satip_frontend_class = .opts = PO_RDONLY | PO_NOSAVE, .off = offsetof(satip_frontend_t, sf_number), }, + { + .type = PT_BOOL, + .id = "no_tcp_mode", + .name = N_("Disable RTP/AVP/TCP transport"), + .desc = N_("Not use the RTP/AVP/TCP transfer mode " + "for this tuner even if the server supports it " + "and the client is configured to do so."), + .off = offsetof(satip_frontend_t, sf_no_tcp_mode), + .opts = PO_EXPERT, + }, { .type = PT_INT, .id = "udp_rtp_port", @@ -1569,7 +1579,7 @@ new_tune: seq = -1; lfe->sf_seq = -1; play2 = 1; - rtsp_flags = lfe->sf_device->sd_tcp_mode ? SATIP_SETUP_TCP : 0; + rtsp_flags = lfe->sf_device->sd_tcp_mode ? lfe->sf_no_tcp_mode ? 0 : SATIP_SETUP_TCP : 0; if ((rtsp_flags & SATIP_SETUP_TCP) == 0) { if (udp_bind_double(&rtp, &rtcp, diff --git a/src/input/mpegts/satip/satip_private.h b/src/input/mpegts/satip/satip_private.h index 7c49ea1..142375d 100644 --- a/src/input/mpegts/satip/satip_private.h +++ b/src/input/mpegts/satip/satip_private.h @@ -133,6 +133,7 @@ struct satip_frontend int sf_type_v2; char *sf_type_override; int sf_master; + int sf_no_tcp_mode; int sf_udp_rtp_port; int sf_play2; int sf_tdelay;