linuxdvb: remove full mux rx mode

There is currently no use for this feature in TVH, it was only ever added as
a means of getting internal table filtering going and with the idea of some
caching feature that's never materialised. However enabling on low performance
devices can often cause problems, so until there is a genuine use I'm removing
confusion.
This commit is contained in:
Adam Sutton 2014-04-22 09:19:09 +01:00
parent c980f07aef
commit aebfda893a
2 changed files with 2 additions and 33 deletions

View file

@ -85,12 +85,6 @@ const idclass_t linuxdvb_frontend_class =
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(linuxdvb_frontend_t, lfe_number),
},
{
.type = PT_BOOL,
.id = "fullmux",
.name = "Full Mux RX mode",
.off = offsetof(linuxdvb_frontend_t, lfe_fullmux),
},
{
.type = PT_BOOL,
.id = "powersave",
@ -320,8 +314,8 @@ linuxdvb_frontend_open_pid0
if (mp->mp_fd != -1)
return;
/* Not locked OR full mux mode */
if (!lfe->lfe_locked || lfe->lfe_fullmux)
/* Not locked */
if (!lfe->lfe_locked)
return;
lfe->mi_display_name((mpegts_input_t*)lfe, name, sizeof(name));
@ -632,8 +626,6 @@ linuxdvb_frontend_input_thread ( void *aux )
char buf[256];
int nfds;
tvhpoll_event_t ev[2];
struct dmx_pes_filter_params dmx_param;
int fullmux;
tvhpoll_t *efd;
sbuf_t sb;
@ -641,32 +633,10 @@ linuxdvb_frontend_input_thread ( void *aux )
pthread_mutex_lock(&lfe->lfe_dvr_lock);
lfe->mi_display_name((mpegts_input_t*)lfe, buf, sizeof(buf));
mmi = LIST_FIRST(&lfe->mi_mux_active);
fullmux = lfe->lfe_fullmux;
pthread_cond_signal(&lfe->lfe_dvr_cond);
pthread_mutex_unlock(&lfe->lfe_dvr_lock);
if (mmi == NULL) return NULL;
/* Open DMX */
if (fullmux) {
dmx = tvh_open(lfe->lfe_dmx_path, O_RDWR, 0);
if (dmx < 0) {
tvherror("linuxdvb", "%s - failed to open %s", buf, lfe->lfe_dmx_path);
return NULL;
}
memset(&dmx_param, 0, sizeof(dmx_param));
dmx_param.pid = 0x2000;
dmx_param.input = DMX_IN_FRONTEND;
dmx_param.output = DMX_OUT_TS_TAP;
dmx_param.pes_type = DMX_PES_OTHER;
dmx_param.flags = DMX_IMMEDIATE_START;
if(ioctl(dmx, DMX_SET_PES_FILTER, &dmx_param) == -1) {
tvherror("linuxdvb", "%s - open raw filter failed [e=%s]",
buf, strerror(errno));
close(dmx);
return NULL;
}
}
/* Open DVR */
dvr = tvh_open(lfe->lfe_dvr_path, O_RDONLY | O_NONBLOCK, 0);
if (dvr < 0) {

View file

@ -107,7 +107,6 @@ struct linuxdvb_frontend
/*
* Configuration
*/
int lfe_fullmux;
int lfe_powersave;
/*