int (*mi_is_enabled) (mpegts_input_t*, mpegts_mux_t *mm, int flags);
void (*mi_enabled_updated)(mpegts_input_t*);
void (*mi_display_name) (mpegts_input_t*, char *buf, size_t len);
- int (*mi_is_free) (mpegts_input_t*);
int (*mi_get_weight) (mpegts_input_t*, int flags);
int (*mi_get_priority) (mpegts_input_t*, mpegts_mux_t *mm, int flags);
int (*mi_get_grace) (mpegts_input_t*, mpegts_mux_t *mm);
(mpegts_input_t *mi, mpegts_mux_instance_t *mmi, sbuf_t *sb,
int64_t *pcr, uint16_t *pcr_pid);
-int mpegts_input_is_free ( mpegts_input_t *mi );
-
int mpegts_input_get_weight ( mpegts_input_t *mi, int flags );
int mpegts_input_get_priority ( mpegts_input_t *mi, mpegts_mux_t *mm, int flags );
int mpegts_input_get_grace ( mpegts_input_t *mi, mpegts_mux_t *mm );
iptv_input->mi_warm_mux = iptv_input_warm_mux;
iptv_input->mi_start_mux = iptv_input_start_mux;
iptv_input->mi_stop_mux = iptv_input_stop_mux;
- iptv_input->mi_is_free = iptv_input_is_free;
iptv_input->mi_get_weight = iptv_input_get_weight;
iptv_input->mi_get_grace = iptv_input_get_grace;
iptv_input->mi_get_priority = iptv_input_get_priority;
}
}
-static int
-linuxdvb_frontend_is_free ( mpegts_input_t *mi )
-{
- linuxdvb_adapter_t *la = ((linuxdvb_frontend_t*)mi)->lfe_adapter;
- linuxdvb_frontend_t *lfe;
- LIST_FOREACH(lfe, &la->la_frontends, lfe_link)
- if (!mpegts_input_is_free((mpegts_input_t*)lfe))
- return 0;
- return 1;
-}
-
static int
linuxdvb_frontend_get_weight ( mpegts_input_t *mi, int flags )
{
if (!lfe) return NULL;
/* Callbacks */
- lfe->mi_is_free = linuxdvb_frontend_is_free;
lfe->mi_get_weight = linuxdvb_frontend_get_weight;
lfe->mi_get_priority = linuxdvb_frontend_get_priority;
lfe->mi_get_grace = linuxdvb_frontend_get_grace;
void linuxdvb_adapter_save ( linuxdvb_adapter_t *la );
-int linuxdvb_adapter_is_free ( linuxdvb_adapter_t *la );
int linuxdvb_adapter_current_weight ( linuxdvb_adapter_t *la );
linuxdvb_frontend_t *
*buf = 0;
}
-int
-mpegts_input_is_free ( mpegts_input_t *mi )
-{
- mpegts_mux_instance_t *mmi = LIST_FIRST(&mi->mi_mux_active);
-#if ENABLE_TRACE
- char buf[256];
- mi->mi_display_name(mi, buf, sizeof(buf));
- tvhtrace("mpegts", "%s - is free? %d", buf, mmi == NULL);
-#endif
- return mmi ? 0 : 1;
-}
-
int
mpegts_input_get_weight ( mpegts_input_t *mi, int flags )
{
/* Defaults */
mi->mi_is_enabled = mpegts_input_is_enabled;
mi->mi_display_name = mpegts_input_display_name;
- mi->mi_is_free = mpegts_input_is_free;
mi->mi_get_weight = mpegts_input_get_weight;
mi->mi_get_priority = mpegts_input_get_priority;
mi->mi_warm_mux = mpegts_input_warm_mux;
* Class methods
* *************************************************************************/
-static int
-satip_frontend_is_free ( mpegts_input_t *mi )
-{
- /* TODO: Add some RTSP live checks here */
- return mpegts_input_is_free(mi);
-}
-
static int
satip_frontend_get_weight ( mpegts_input_t *mi, int flags )
{
lfe->sf_position = -1;
/* Callbacks */
- lfe->mi_is_free = satip_frontend_is_free;
lfe->mi_get_weight = satip_frontend_get_weight;
lfe->mi_get_priority = satip_frontend_get_priority;
lfe->mi_get_grace = satip_frontend_get_grace;
static mpegts_pid_t * tvhdhomerun_frontend_open_pid( mpegts_input_t *mi, mpegts_mux_t *mm, int pid, int type, void *owner );
-static int
-tvhdhomerun_frontend_is_free ( mpegts_input_t *mi )
-{
- return mpegts_input_is_free(mi);
-}
-
static int
tvhdhomerun_frontend_get_weight ( mpegts_input_t *mi, int flags )
{
if (!hfe) return NULL;
/* Callbacks */
- hfe->mi_is_free = tvhdhomerun_frontend_is_free;
hfe->mi_get_weight = tvhdhomerun_frontend_get_weight;
hfe->mi_get_priority = tvhdhomerun_frontend_get_priority;
hfe->mi_get_grace = tvhdhomerun_frontend_get_grace;