* Channel
* *************************************************************************/
+int epg_channel_ignore_broadcast(channel_t *ch, time_t start)
+{
+ if (ch->ch_epg_limit && start < gclk() + ch->ch_epg_limit * 3600 * 24)
+ return 1;
+ return 0;
+}
+
static void _epg_channel_rem_broadcast
( channel_t *ch, epg_broadcast_t *ebc, epg_broadcast_t *ebc_new )
{
return NULL;
}
- if (ch->ch_epg_limit && (*bcast)->start < gclk() + ch->ch_epg_limit * 3600 * 24)
- return NULL;
-
/* Set channel */
(*bcast)->channel = ch;
* Channel - provides mapping from EPG channels to real channels
* ***********************************************************************/
+int epg_channel_ignore_broadcast( struct channel *ch, time_t start );
/* Unlink */
void epg_channel_unlink ( struct channel *ch );
/* Match now / next events */
bcdtoint(ptr[9] & 0xff);
running = (ptr[10] >> 5) & 0x07;
+ if (epg_channel_ignore_broadcast(ch, start))
+ return 0;
+
/* Find broadcast */
ebc = epg_broadcast_find_by_time(ch, mod, start, stop, 1, &save2, &changes);
tvhtrace(LS_TBL_EIT, "svc='%s', ch='%s', eid=%5d, tbl=%02x, running=%d, start=%s,"
* Broadcast
*/
+ if (epg_channel_ignore_broadcast(ch, ev.start))
+ goto done;
+
merge = changes = 0;
/* Find broadcast */
if (size > len) break;
+ if (epg_channel_ignore_broadcast(ch, start))
+ goto next;
+
title = atsc_get_string(ptr+10, titlelen);
if (title == NULL) continue;
time_t first_aired = 0;
int8_t bw = -1;
+ if (epg_channel_ignore_broadcast(ch, start))
+ return 0;
+
memset(&epnum, 0, sizeof(epnum));
/*