SAT>IP: Do not enable the second RTSP SHUTDOWN sequence by default
This commit is contained in:
parent
d760c4cb7c
commit
07a8f5ff06
4 changed files with 30 additions and 17 deletions
|
@ -85,6 +85,9 @@ setting this to 100.</dd>
|
||||||
<p>
|
<p>
|
||||||
<dt><b>PIDs in setup</b></dt>
|
<dt><b>PIDs in setup</b></dt>
|
||||||
<dd>Enable, if the SAT>IP box requires pids=0 parameter in the SETUP RTSP command.</dd>
|
<dd>Enable, if the SAT>IP box requires pids=0 parameter in the SETUP RTSP command.</dd>
|
||||||
|
<p>
|
||||||
|
<dt><b>Double RTSP Shutdown</b></dt>
|
||||||
|
<dd>Enable, if the SAT>IP box might require to send twice the RTSP SHUTDOWN command.</dd>
|
||||||
<p>
|
<p>
|
||||||
<dt><b>Force pilot for DVB-S2</b></dt>
|
<dt><b>Force pilot for DVB-S2</b></dt>
|
||||||
<dd>Enable, if the SAT>IP box requiest plts=on parameter in the SETUP RTSP
|
<dd>Enable, if the SAT>IP box requiest plts=on parameter in the SETUP RTSP
|
||||||
|
|
|
@ -180,6 +180,13 @@ const idclass_t satip_device_class =
|
||||||
.opts = PO_ADVANCED,
|
.opts = PO_ADVANCED,
|
||||||
.off = offsetof(satip_device_t, sd_pids0),
|
.off = offsetof(satip_device_t, sd_pids0),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.type = PT_BOOL,
|
||||||
|
.id = "shutdown2",
|
||||||
|
.name = "Double RTSP Shutdown",
|
||||||
|
.opts = PO_ADVANCED,
|
||||||
|
.off = offsetof(satip_device_t, sd_shutdown2),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.type = PT_BOOL,
|
.type = PT_BOOL,
|
||||||
.id = "piloton",
|
.id = "piloton",
|
||||||
|
|
|
@ -1474,24 +1474,26 @@ new_tune:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* for sure - the second sequence */
|
/* for sure - the second sequence */
|
||||||
r = rtsp_teardown(rtsp, (char *)b, NULL);
|
if (lfe->sf_device->sd_shutdown2) {
|
||||||
if (r < 0) {
|
r = rtsp_teardown(rtsp, (char *)b, NULL);
|
||||||
tvhtrace("satip", "%s - bad teardown2", buf);
|
if (r < 0) {
|
||||||
} else {
|
tvhtrace("satip", "%s - bad teardown2", buf);
|
||||||
while (1) {
|
} else {
|
||||||
r = http_client_run(rtsp);
|
while (1) {
|
||||||
if (r != HTTP_CON_RECEIVING && r != HTTP_CON_SENDING)
|
r = http_client_run(rtsp);
|
||||||
break;
|
if (r != HTTP_CON_RECEIVING && r != HTTP_CON_SENDING)
|
||||||
nfds = tvhpoll_wait(efd, ev, 1, 50); /* only small delay here */
|
break;
|
||||||
if (nfds == 0)
|
nfds = tvhpoll_wait(efd, ev, 1, 50); /* only small delay here */
|
||||||
break;
|
if (nfds == 0)
|
||||||
if (nfds < 0) {
|
break;
|
||||||
if (ERRNO_AGAIN(errno))
|
if (nfds < 0) {
|
||||||
continue;
|
if (ERRNO_AGAIN(errno))
|
||||||
break;
|
continue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(ev[0].events & (TVHPOLL_ERR | TVHPOLL_HUP))
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(ev[0].events & (TVHPOLL_ERR | TVHPOLL_HUP))
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,7 @@ struct satip_device
|
||||||
int sd_sig_scale;
|
int sd_sig_scale;
|
||||||
int sd_pids0;
|
int sd_pids0;
|
||||||
int sd_pilot_on;
|
int sd_pilot_on;
|
||||||
|
int sd_shutdown2;
|
||||||
int sd_dbus_allow;
|
int sd_dbus_allow;
|
||||||
pthread_mutex_t sd_tune_mutex;
|
pthread_mutex_t sd_tune_mutex;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue