Project

General

Profile

Bug #3492

EPG updates do not replace complete original program record

Added by Adrian Strilchuk almost 6 years ago. Updated almost 6 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
Category:
EPG
Target version:
Start date:
2016-01-11
Due date:
% Done:

0%

Estimated time:
Found in version:
4.1-1350~gdfae393
Affected Versions:

Description

When new EPG programs replace old programs in the same time slot, information about the original program is not overwritten (where not specified by the new program).

The subtitle, season/episode, genre, and I suspect icon (possibly other fields?) are kept if not specified by the new program.

I believe that an EPG update should completely replace existing programs for the same time slot or over-lapping slot.

I can provide examples if this is not clear.

Adrian

History

#1

Updated by Jaroslav Kysela almost 6 years ago

What's your epg source ? XMLTV ?

#2

Updated by Adrian Strilchuk almost 6 years ago

Sorry, should have mentioned that - yes, xmltv via the socket interface.

#3

Updated by Adrian Strilchuk almost 6 years ago

Fyi, this isn't a new issue - it's one that I've seen happen in the past. SchedulesDirect has an issue with their upstream provider which has caused a number of programs to be updated (a "sign-off" program with very little attributes other than description and title). This has caused the EPG for some channels to be messed up for some periods. The replaced programs have the episode title, genre, season and episode number (and possibly other attributes) of the program it replaced.

The only option I believe I have is to disable writing the EPG to disk, restart tvheadend and reload the EPG. The EPG programs will still be incorrect due to SchedulesDirect's upstream provider but at least there won't be remnants from the original shows.

#4

Updated by Adrian Strilchuk almost 6 years ago

Additionally, the DVR doesn't respect program changes. A time slot that was previously scheduled to be recorded by an autorec rule will continue to scheduled after a program change.

#5

Updated by Robin Mitra almost 6 years ago

Adrian Strilchuk wrote:

Additionally, the DVR doesn't respect program changes. A time slot that was previously scheduled to be recorded by an autorec rule will continue to scheduled after a program change.

Are you sure? If this is true, then autorec would be pretty useless for e.g. series recordings, since you can only look so far ahead at any given time..

IN fact, this would be worth a bug on its own.
I was actually going to ask if a recording, when started, automatically and continuously updates the epg and rec-schedule with what is currently available on the tuned-to mux. Such that even the current recording gets updated to maybe last longer than originally scheduled (typical use case: live events going into overtime/extra-time etc.)

#6

Updated by Adrian Strilchuk almost 6 years ago

Robin Mitra wrote:

Are you sure? If this is true, then autorec would be pretty useless for e.g. series recordings, since you can only look so far ahead at any given time..

Keep in mind that I'm only referring to programs that have changed since the initial EPG load in tvheadend. All of my autorecs are series links yet I have programs recorded with the title of 'SIGN OFF' ('SIGN OFF' replaced the original program scheduled to be recorded). The special 'SIGN OFF' program has it's own unique prog_id (SH00019112.0000) yet was still recorded.

#7

Updated by Adrian Strilchuk almost 6 years ago

I've used the epgdump support app to illustrate the issue here:

Original XMLTV Program:


<programme channel="I23.2.43432.schedulesdirect.org" start="20160118140000" stop="20160118143000">
 <title>A Different World</title>
 <sub-title>Radio Free Hillman</sub-title>
 <episode-num system="dd_progid">EP00000051.0032</episode-num>
 <episode-num system="xmltv_ns">1.9.</episode-num>
 <desc>"Radio Free Hillman" • Series; 1989-01-05; S2E10; TVPG</desc>
 <previously-shown start="19890105" />
 <icon src="https://s3.amazonaws.com/schedulesdirect/assets/p184628_b_v3_ac.jpg" />
</programme>

Tvheadend EPG Dump #1:


{ '__section__': 'episodes'}  
{ 'epnum': { 'e_num': 10, 's_num': 2},
  'grabber': 'xmltv',
  'id': 8165,
  'image': 'https://s3.amazonaws.com/schedulesdirect/assets/p184628_b_v3_ac.jpg',
  'subtitle': { 'eng': 'Radio Free Hillman'},
  'title': { 'eng': 'A Different World'},
  'type': 3,
  'updated': 1452716367,
  'uri': 'ddprogid://xmltv/EP00000051.0032'}

{ '__section__': 'broadcasts'}
{ 'channel': 'e788c8f268c3b965beb8957fdf0fec8b',
  'description': { 'eng': '"Radio Free Hillman" \xe2\x80\xa2 Series; 1989-01-05; S2E10; TVPG'},
  'episode': 'ddprogid://xmltv/EP00000051.0032',
  'grabber': 'xmltv',
  'id': 8164,
  'is_repeat': 1,
  'serieslink': 'ddprogid://xmltv/EP00000051',
  'start': 1453125600,
  'stop': 1453127400,
  'type': 4,
  'updated': 1452716367}

Updated XMLTV Program for same channel, day and time-slot:


<programme channel="I23.2.43432.schedulesdirect.org" start="20160118140000" stop="20160118143000">
 <title>SIGN OFF1</title>
 <episode-num system="dd_progid">SH00019112.0000</episode-num>
 <desc>Special • Sign off1.</desc>
</programme>

Tvheadend EPG Dump #2:


{ '__section__': 'episodes'}
{ 'epnum': { 'e_num': 10, 's_num': 2},
  'grabber': 'xmltv',
  'id': 8165,
  'image': 'https://s3.amazonaws.com/schedulesdirect/assets/p184628_b_v3_ac.jpg',
  'subtitle': { 'eng': 'Radio Free Hillman'},
  'title': { 'eng': 'SIGN OFF1'},
  'type': 3,
  'updated': 1452879012,
  'uri': 'ddprogid://xmltv/EP00000051.0032'}

{ '__section__': 'broadcasts'}
{ 'channel': 'e788c8f268c3b965beb8957fdf0fec8b',
  'description': { 'eng': 'Special \xe2\x80\xa2 Sign off1.'},
  'episode': 'ddprogid://xmltv/EP00000051.0032',
  'grabber': 'xmltv',
  'id': 8164,
  'is_repeat': 1,
  'serieslink': 'ddprogid://xmltv/SH00019112.0000',
  'start': 1453125600,
  'stop': 1453127400,
  'type': 4,
  'updated': 1452879012}

Note that 'epnum', 'image', 'subtitle', and 'uri' attributes in the episode node haven't changed. 'episode' and 'is_repeat' attributes haven't changed in the broadcast node. I have not tested having updated programs cross multiple original program start and stop time boundaries.

#8

Updated by Jaroslav Kysela almost 6 years ago

It seems like a bug. Actually, TVH merges XMLTV data instead full reset.

For autorec - TVH tries to find the event based on title / time window or unique DVB ID (which does not exist / is not handled for XMLTV). Of course, if title is changed the check fails here. Yes, there's a room for an improvement.

#9

Updated by Jaroslav Kysela almost 6 years ago

  • Target version set to 4.2

Fixed in v4.1-1462-gc665cff .

#10

Updated by Jaroslav Kysela almost 6 years ago

  • Status changed from New to Fixed

Also available in: Atom PDF