epggrab: Fix busy situation - issue new kick after 64 seconds

This commit is contained in:
Jaroslav Kysela 2014-07-02 17:33:38 +02:00
parent fbfc2093b4
commit fd8aee4a7f

View file

@ -327,7 +327,7 @@ epggrab_ota_kick_cb ( void *p )
mpegts_network_t *net;
int failed;
} networks[64], *net; /* more than 64 networks? - you're a king */
int i, r, networks_count = 0, epg_flag;
int i, r, networks_count = 0, epg_flag, kick = 1;
const char *modname;
static const char *modnames[] = {
[MM_EPG_DISABLE] = NULL,
@ -347,6 +347,8 @@ epggrab_ota_kick_cb ( void *p )
if (!om)
return;
tvhtrace("epggrab", "ota - kick callback");
next_one:
/* Find the mux */
mm = mpegts_mux_find(om->om_mux_uuid);
@ -410,12 +412,15 @@ next_one:
} else {
mpegts_mux_instance_t *mmi = mm->mm_active;
epggrab_ota_start(om, mm, mpegts_input_grace(mmi->mmi_input, mm), modname);
kick = 0;
}
done:
om = TAILQ_FIRST(&epggrab_ota_pending);
if (networks_count < ARRAY_SIZE(networks) && om && first != om)
goto next_one;
if (kick)
epggrab_ota_kick(64); /* a random number? */
}
/*