Ticket #10098 (closed Patch - Feature: fixed)
Opened 19 months ago
Last modified 2 months ago
Australian EIT Fixups
| Reported by: | lexvictory@… | Owned by: | stuarta |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.27 |
| Component: | MythTV - EIT | Version: | 0.24-fixes |
| Severity: | medium | Keywords: | eit, australia |
| Cc: | Ticket locked: | no |
Description
Patch to add EIT fixups for Australian data, making it mostly usable as the only guide data source. Normalises titles/descriptions, adds in episode titles where available, repeats, teletext, ratings.
Also provides the correct genres based on the available Freeview info - was not done 100% before as it's not quite the same as the UK; only the main types are defined in nibble level 1. May need to be moved elsewhere?
I needed to copy a piece of code to allow the fixups to amend the ratings, as before the function handling updates was ignoring the ratings.
I have only tested this with Western Australia data, as I don't have access to any other states' data or network IDs.
Attachments
Change History
Changed 19 months ago by lexvictory@…
- Attachment eitAU.patch added
comment:1 Changed 19 months ago by dekarl@…
If you don't know the network_id you can likely get around with other ids.
You can look the ids up at http://www.dvbservices.com/identifiers/original_network_id e.g.
0x2024 Australian Digital Terrestrial Television Australian Broadcasting Authority
that would be fix[ 8228U << 16 ] = thisnthat
network_ids for DTT in Australia are 0x3201 - 0x3300 with country code 36
You could filter by original_network_id + service_id with: fix [8228U << 16 | sid] = xxx Or you could filter by transport_id (useful over here as the companies have their own transport usually) with: fix [tid << 32 | 8228U << 16] = xxx
comment:2 Changed 19 months ago by lexvictory@…
unfortunately each multiplex (network) has different requirements for the fixups, so I don't know how much that would help; only one of the fixups would be able to be applied.
comment:3 Changed 19 months ago by dekarl@…
That sounds very similar to the way the multiplexes are setup over here. (Each TV network has their own multiplex aka. transport. Not to be confused with DVB networks.)
If the numbers in your patch are the numbers that identify each unique multiplex, then you can do as follows.
The common "all australian DVB-T" rules for the description matches like this
fix [ 8228U << 16 ] = EITFixUp::kFixAUDescription; // DVB-T Australia whole original network
and the special, per multiplex(transport), rules get matched by the combination of original_network_id/transport_id as follows
fix [ 4115U << 32 | 8228U << 16 ] = EITFixUp::kFixAUSeven; // Seven transport fix [ 12801U << 32 | 8228U << 16 ] = EITFixUp::kFixAUFreeview; // ABC transport fix [ 12803U << 32 | 8228U << 16 ] = EITFixUp::kFixAUFreeview | EITFixUp::kFixAUNine; // Nine transport
while at it you could remove one of the AUStar lines as they are duplicates.
comment:4 Changed 19 months ago by Xander Victory <lexvictory@…>
I think I understand what you're getting at, but should I be finding the 8228U number in mythtv's database somewhere?
The numbers I've used identify each TV network's multiplex and come from the networkid column in dtv_multiplex. Will that still work with << 32? The comment before the fixup array seems to say otherwise..
comment:5 Changed 19 months ago by dekarl@…
I stand corrected, your patch appears to be fine. Australian broadcasters decided to reuse the "color C" network_id allocation for their original_network_id, which is a stupid idea. At least they documented their wrongdoing in the implementation guidelines at http://www.freetv.com.au/content_common/pg-engineering-guides.seo
original_network_id (ONID); where there is one ONID per transport stream and the actual value may correspond to the network_id
Lets hope the other color C countries don't make the same mistake or there will likely be collisions.
comment:6 Changed 19 months ago by lexvictory@…
Luckily those IDs that start with 411 are able to be found in the dvbservices table you linked to, so not all will risk clash. I could add in the transport IDs from myth's db too, however based on what I can find on the internet, they're different in other states, so would only work for WA streams.
comment:8 Changed 10 months ago by slackerlinux85@…
Im trying this out locally now without the programdata.cpp changes it seems to improve some channels but in brisbane the data still isnt perfect(Ten multiplex is the worst they flag cooking and fishing shows as movies :/)
heres the Queensland network ID's im using also the patch has some trailing whitespace issues
// Queensland, Australia
fix[ 4112U << 16] = EITFixUp::kFixAUDescription | EITFixUp::kFixAUFreeview; // ABC Brisbane
fix[ 4114U << 16] = EITFixUp::kFixAUDescription | EITFixUp::kFixAUFreeview | EITFixUp::kFixAUNine;; // Nine Brisbane
fix[ 4115U << 16] = EITFixUp::kFixAUDescription | EITFixUp::kFixAUSeven; // Seven Brisbane
fix[ 4116U << 16] = EITFixUp::kFixAUDescription; // Ten Brisbane
fix[ 12802U << 16] = EITFixUp::kFixAUDescription; // SBS Brisbane
fix[ 12842U << 16] = EITFixUp::kFixAUDescription; // 31 Brisbane
comment:11 Changed 3 months ago by Stuart Auchterlonie <stuarta@…>
- Status changed from accepted to closed
- Resolution set to fixed

Implements Australian EIT fixups & enables fixups to amend ratings