Opened 6 years ago

Last modified 5 years ago

#11808 new Patch - Feature

New EIT guide fixup for swedish dvb-t boxer

Reported by: torbjorn.jansson@… Owned by: Karl Egly
Priority: minor Milestone: unknown
Component: MythTV - EIT Version: 0.26-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Hi.

a while ago my regular import using xmltv broke and i was forced to switch to eit on all channels. because of the realy bad quality "out of the box" i lost several recordings as a result so i decided to try to make the eit guide data for boxer as good as it can be.

there are a number of issues with the default guide data. the most obvious one is the fact that boxers interpretation of the standard is to star the description of a program in the short event descriptor and then continue in the extended event descriptor. result is that the first part of description ends up in the subtitle and this messes up recording rules a lot.

the patch also tries to extract some useful data from the description and put the data where it is supposed to be. for example there is no subtitles at all by default. some channels (C More) have a couple of comma separated fields in the beginning of the description that easily can be extracted.

other channels have another kind format of the beginning of the description.

while working on this guide fixup i discovered that boxer sends a custom descriptor as part of the eit stream that contains some useful information like season/episode, production year, director, spoken language and production country. specification also allow for more types of data but i have not yet seen that being transmitted.

it is also possible this descriptor is transmitted on dvb-t in denmark and finland, so if someone from denmark or finland with dvb-t can provide a dvbsnoop dump of the eit stream i might be able to adjust the fixup to work for them too.

and the final thing this patch does is to create a new function called CreateProgramID(). this function is intended to create identical seriesid and programid fields as the xmltv import does in mythfilldatabase. this should allow dupe matching work better when switching between xmltv and eit guide data.

as a side benefit it also makes mythfilldatabase update the first/last showing flags properly. the reason it is broken by default is because without programid mfd uses the description and boxer only transmits the description for 1 day. so future showings of the same episode is still counted as first showing.

Attachments (3)

boxer-eitfixup-v2.patch (24.5 KB) - added by torbjorn.jansson@… 6 years ago.
the patch
boxer-eitfixup-v3-with-cat-conv.patch (26.4 KB) - added by torbjorn.jansson@… 6 years ago.
boxer-eitfixup-v3-no-cat-conv.patch (23.6 KB) - added by torbjorn.jansson@… 6 years ago.

Download all attachments as: .zip

Change History (5)

Changed 6 years ago by torbjorn.jansson@…

Attachment: boxer-eitfixup-v2.patch added

the patch

Changed 6 years ago by torbjorn.jansson@…

Changed 6 years ago by torbjorn.jansson@…

comment:1 Changed 6 years ago by torbjorn.jansson@…

modified patch attached as discussed on irc. changes from last version is that ELFHash() is moved to libs/libmythbase/mythbaseutil.h and mythfilldatabase is adjusted to use the common version.

since i didn't know what the outcome of the discussion around the "translation" was i've created one version with the conversion of the categories and one without.

personally i prefer the version with the conversion of the categories so the categories at least are in the same language across all channels even if that means risking getting categories in one language and the rest of the guide data in another (english vs swedish)

i would have preferred to convert the categories into exactly what the dvb content descriptor uses but this is not easily doable especially since the compact form of description that starts with comma separated fields contains multiple categories (less variations and better quality) for the time being it is as good as i can make it.

the fixup could also try a bit harder to extract more subtitles but this would have a higher risk of accidentally picking the first sentence of the description so i chose not to do that.

comment:2 Changed 5 years ago by Karl Egly

I started to look at the patch. It looks good on first glance, but it should be split up into pieces that can be easily reviewed and committed. (I can do that, just takes some time) Pieces would be the refactoring of utility functions (hash / program id generation), adding support for the descriptor, and adding the fixup.

The private descriptor is documented at http://www.teracom.se/Documents/Produkter/Irdtesting/Teracom%20DTT%20receiver%20spec%20v2.3.pdf

I'd like to add unit tests, so specimen of real guide data would be appreciated. (dvbsnoop of events with hexdump and decode)

Note: See TracTickets for help on using tickets.