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>
|
||||
<dt><b>PIDs in setup</b></dt>
|
||||
<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>
|
||||
<dt><b>Force pilot for DVB-S2</b></dt>
|
||||
<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,
|
||||
.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,
|
||||
.id = "piloton",
|
||||
|
|
|
@ -1474,24 +1474,26 @@ new_tune:
|
|||
}
|
||||
}
|
||||
/* for sure - the second sequence */
|
||||
r = rtsp_teardown(rtsp, (char *)b, NULL);
|
||||
if (r < 0) {
|
||||
tvhtrace("satip", "%s - bad teardown2", buf);
|
||||
} else {
|
||||
while (1) {
|
||||
r = http_client_run(rtsp);
|
||||
if (r != HTTP_CON_RECEIVING && r != HTTP_CON_SENDING)
|
||||
break;
|
||||
nfds = tvhpoll_wait(efd, ev, 1, 50); /* only small delay here */
|
||||
if (nfds == 0)
|
||||
break;
|
||||
if (nfds < 0) {
|
||||
if (ERRNO_AGAIN(errno))
|
||||
continue;
|
||||
break;
|
||||
if (lfe->sf_device->sd_shutdown2) {
|
||||
r = rtsp_teardown(rtsp, (char *)b, NULL);
|
||||
if (r < 0) {
|
||||
tvhtrace("satip", "%s - bad teardown2", buf);
|
||||
} else {
|
||||
while (1) {
|
||||
r = http_client_run(rtsp);
|
||||
if (r != HTTP_CON_RECEIVING && r != HTTP_CON_SENDING)
|
||||
break;
|
||||
nfds = tvhpoll_wait(efd, ev, 1, 50); /* only small delay here */
|
||||
if (nfds == 0)
|
||||
break;
|
||||
if (nfds < 0) {
|
||||
if (ERRNO_AGAIN(errno))
|
||||
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_pids0;
|
||||
int sd_pilot_on;
|
||||
int sd_shutdown2;
|
||||
int sd_dbus_allow;
|
||||
pthread_mutex_t sd_tune_mutex;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue