mpegts_network_t *(*mi_network_create) (mpegts_input_t *mi, htsmsg_t *c);
void (*mi_started_mux) (mpegts_input_t*,mpegts_mux_instance_t*);
void (*mi_stopped_mux) (mpegts_input_t*,mpegts_mux_instance_t*);
+ int (*mi_has_subscription) (mpegts_input_t*, mpegts_mux_t *mm);
};
#endif /* __TVH_MPEGTS_H__ */
ls->ls_frontend->mi_stopped_mux(ls->ls_frontend, mmi);
}
+static int
+linuxdvb_satconf_has_subscription
+ ( mpegts_input_t *mi, mpegts_mux_t *mm )
+{
+ linuxdvb_satconf_t *ls = (linuxdvb_satconf_t*)mi;
+ return ls->ls_frontend->mi_has_subscription(ls->ls_frontend, mm);
+}
+
static int
linuxdvb_satconf_open_pid
( linuxdvb_frontend_t *lfe, int pid, const char *name )
ls->mi_network_create = linuxdvb_satconf_network_create;
ls->mi_started_mux = linuxdvb_satconf_started_mux;
ls->mi_stopped_mux = linuxdvb_satconf_stopped_mux;
+ ls->mi_has_subscription = linuxdvb_satconf_has_subscription;
ls->lfe_open_pid = linuxdvb_satconf_open_pid;
/* Unoversal LMB */
}
}
+static int
+mpegts_input_has_subscription ( mpegts_input_t *mi, mpegts_mux_t *mm )
+{
+ service_t *t;
+ LIST_FOREACH(t, &mi->mi_transports, s_active_link)
+ if (((mpegts_service_t*)t)->s_dvb_mux == mm)
+ return 1;
+ return 0;
+}
+
/* **************************************************************************
* Data processing
* *************************************************************************/
int len = l;
int i = 0, table_wakeup = 0;
mpegts_mux_t *mm = mmi->mmi_mux;
- //assert(mmi->mmi_input == mi);
assert(mm != NULL);
assert(name != NULL);
mi->mi_create_mux_instance = mpegts_input_create_mux_instance;
mi->mi_started_mux = mpegts_input_started_mux;
mi->mi_stopped_mux = mpegts_input_stopped_mux;
+ mi->mi_has_subscription = mpegts_input_has_subscription;
/* Index */
mi->mi_instance = ++mpegts_input_idx;
static int
mpegts_mux_has_subscribers ( mpegts_mux_t *mm )
{
- service_t *t;
mpegts_mux_instance_t *mmi = mm->mm_active;
- if (mmi) {
- LIST_FOREACH(t, &mmi->mmi_input->mi_transports, s_active_link)
- if (((mpegts_service_t*)t)->s_dvb_mux == mm)
- return 1;
- }
+ if (mmi)
+ return mmi->mmi_input->mi_has_subscription(mmi->mmi_input, mm);
return 0;
}