Removed use of find_by_eid, used to shortcut storing SUMMARY records. This causes problems where different services are used to back the same channel.

This commit is contained in:
Adam Sutton 2012-07-01 21:02:45 +01:00
parent a8e95ee03a
commit 31d871527b

View file

@ -342,16 +342,13 @@ static int _opentv_parse_event_section
if (ev.type & OPENTV_TITLE) {
ebc = epg_broadcast_find_by_time(ec->channel, ev.start, ev.stop, ev.eid,
1, &save);
} else {
ebc = epg_broadcast_find_by_eid(ec->channel, ev.eid);
/* Store */
if (!ebc) {
opentv_event_t *skel = malloc(sizeof(opentv_event_t));
memcpy(skel, &ev, sizeof(opentv_event_t));
assert(!RB_INSERT_SORTED(&sta->events, skel, ev_link, _ev_cmp));
continue; // don't want to free() anything
}
/* Store */
} else {
opentv_event_t *skel = malloc(sizeof(opentv_event_t));
memcpy(skel, &ev, sizeof(opentv_event_t));
assert(!RB_INSERT_SORTED(&sta->events, skel, ev_link, _ev_cmp));
continue; // don't want to free() anything
}
/* Find episode */