<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
.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",
}
}
/* 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;
}
}
}