Opened 10 years ago
Closed 10 years ago
Last modified 9 years ago
#12091 closed Patch - Bug Fix (fixed)
Fix for UPC EPG, as subtitles are not sent in standard field
Reported by: | Owned by: | Karl Egly | |
---|---|---|---|
Priority: | minor | Milestone: | 0.28 |
Component: | MythTV - EIT | Version: | 0.27-fixes |
Severity: | low | Keywords: | upc, eit, epg |
Cc: | Ticket locked: | no |
Description
UPC Cablecom in Switzerland is not sending the episode title in the standard DVB field, but in dvb descriptor tag #167. This information is only sent in the present and in the following tables. The attached patch gabs the episode title from dvb descriptor #167. See the following dvbsnoop dump:
------------------------------------------------------------ SECT-Packet: 00000007 PID: 18 (0x0012), Length: 1657 (0x0679) Time received: Tue 2014-03-11 09:30:49.529 ------------------------------------------------------------ PID: 18 (0x0012) [= assigned for: DVB Event Information Table (EIT)] Guess table from table id... EIT-decoding.... Table_ID: 96 (0x60) [= Event Information Table (EIT) - other transport stream, schedule] section_syntax_indicator: 1 (0x01) reserved_1: 1 (0x01) reserved_2: 3 (0x03) Section_length: 1654 (0x0676) Service_ID: 3 (0x0003) [= --> refers to PMT program_number] reserved_3: 3 (0x03) Version_number: 5 (0x05) current_next_indicator: 1 (0x01) [= valid now] Section_number: 40 (0x28) Last_Section_number: 72 (0x48) Transport_stream_ID: 69 (0x0045) Original_network_ID: 1 (0x0001) [= Astra Satellite Network 19,2°E | Société Européenne des Satellites] Segment_last_Section_number: 40 (0x28) Last_table_id: 96 (0x60) [= Event Information Table (EIT) - other transport stream, schedule] Event_ID: 13715 (0x3593) Start_time: 0xdd97152500 [= 2014-03-11 15:25:00 (UTC)] Duration: 0x0005000 [= 00:50:00 (UTC)] Running_status: 0 (0x00) [= undefined] Free_CA_mode: 0 (0x00) [= unscrambled] Descriptors_loop_length: 439 (0x1b7) DVB-DescriptorTag: 84 (0x54) [= content_descriptor] descriptor_length: 2 (0x02) Content_nibble_level_1: 14 (0x0e) Content_nibble_level_2: 0 (0x00) [= reserved] User_nibble_1: 0 (0x00) User_nibble_2: 0 (0x00) DVB-DescriptorTag: 77 (0x4d) [= short_event_descriptor] descriptor_length: 17 (0x11) ISO639_2_language_code: ger event_name_length: 12 (0x0c) event_name: "Royal Pains" -- Charset: Latin alphabet no. 5 text_length: 0 (0x00) text_char: "" DVB-DescriptorTag: 78 (0x4e) [= extended_event_descriptor] descriptor_length: 183 (0xb7) descriptor_number: 0 (0x00) last_descriptor_number: 0 (0x00) ISO639_2_language_code: ger length_of_items: 0 (0x00) text_length: 177 (0xb1) text: "Arztserie. Hank lernt auf einer Party Blake und ihren deutlich jüngeren Freund Jamie kennen. Als Jamie mit ihr Schluss macht, zeigt sie alle Symptome eines akuten Herzinfarkts." -- Charset: Latin alphabet no. 5 DVB-DescriptorTag: 85 (0x55) [= parental_rating_descriptor] descriptor_length: 4 (0x04) Country_code: CHE Rating: 0 (0x00) [= undefined] DVB-DescriptorTag: 95 (0x5f) [= private_data_specifier_descriptor] descriptor_length: 4 (0x04) PrivateDataSpecifier: 1536 (0x00000600) [= UPC 1 <A0>] DVB-DescriptorTag: 163 (0xa3) [= User defined/ATSC reserved] descriptor_length: 14 (0x0e) Descriptor-data: 0000: 00 01 00 45 00 03 00 08 00 00 00 00 7b 3e ...E........{> DVB-DescriptorTag: 164 (0xa4) [= User defined/ATSC reserved] descriptor_length: 27 (0x1b) Descriptor-data: 0000: 67 65 72 05 52 6f 79 61 6c 20 50 61 69 6e 73 20 ger.Royal Pains 0010: 2d 20 53 74 61 66 66 65 6c 20 32 - Staffel 2 DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 02 dd 98 03 35 00 00 40 00 ........5..@. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 03 dd 98 15 20 00 00 50 00 ........ ..P. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 03 dd 99 03 45 00 00 40 00 ........E..@. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 04 dd 99 15 15 00 00 55 00 ...........U. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 06 dd 9f 03 40 00 00 40 00 ........@..@. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 07 dd 9f 15 20 00 00 50 00 ........ ..P. DVB-DescriptorTag: 165 (0xa5) [= User defined/ATSC reserved] descriptor_length: 13 (0x0d) Descriptor-data: 0000: e0 00 00 00 07 dd a0 03 15 00 00 40 00 ...........@. DVB-DescriptorTag: 166 (0xa6) [= User defined/ATSC reserved] descriptor_length: 1 (0x01) Descriptor-data: 0000: 02 . DVB-DescriptorTag: 167 (0xa7) [= User defined/ATSC reserved] descriptor_length: 19 (0x13) Descriptor-data: 0000: 67 65 72 05 4b 72 61 6e 6b 20 76 6f 72 20 4c 69 ger.Krank vor Li 0010: 65 62 65 ebe
Attachments (2)
Change History (10)
Changed 10 years ago by
Attachment: | UPC_subtitle_fix.patch added |
---|
comment:1 Changed 10 years ago by
Status: | new → accepted |
---|
Some notes after taking a peek. The descriptor-data looks very similar to other descriptors from EN 300 468. "ger" being an ISO-639-2 language code and 0x05 being the code to signal a Latin-5/ISO-8859-9/Latin alphabet no. 5 encoded string (See Annex A.2.) Also matching original_network_id 1 (and not being a bit more specific) is a problem as that is the ONID used for Astra 19.2°.
comment:2 Changed 10 years ago by
Hello dekarl,
sorry for the long delay. I investigated a little further. It seems the ONID in the EIT (0x0012) they send is always 0x1. At least dvbsnoop -nph 0x12 -n 1000 |grep -i Original_network_ID
did not show anything else, it was alway Original_network_ID: 1 (0x0001) [= Astra Satellite Network 19,2°E | Société Européenne des Satellites]
.
I don't think that it would be usefull to use the Network_ID, as it is not transmitted in the EIT but only in the NIT (0x0010), and there I don't completly understand what they transmit:
dvbsnoop -nph 0x10 -n 20 |grep Network_ID Network_ID: 43021 (0xa80d) [= --> please lookup at http://www.dvb.org] Network_ID: 43032 (0xa818) [= --> please lookup at http://www.dvb.org] Network_ID: 888 (0x0378) [= >>ERROR: not (yet) defined... Report!<<] Network_ID: 43034 (0xa81a) [= --> please lookup at http://www.dvb.org] Network_ID: 43037 (0xa81d) [= --> please lookup at http://www.dvb.org] Network_ID: 43038 (0xa81e) [= --> please lookup at http://www.dvb.org] Network_ID: 43039 (0xa81f) [= --> please lookup at http://www.dvb.org] Network_ID: 43051 (0xa82b) [= --> please lookup at http://www.dvb.org] Network_ID: 735 (0x02df) [= >>ERROR: not (yet) defined... Report!<<] Network_ID: 43052 (0xa82c) [= --> please lookup at http://www.dvb.org] Network_ID: 43053 (0xa82d) [= --> please lookup at http://www.dvb.org] Network_ID: 43054 (0xa82e) [= --> please lookup at http://www.dvb.org] Network_ID: 43055 (0xa82f) [= --> please lookup at http://www.dvb.org] Network_ID: 139 (0x008b) [= >>ERROR: not (yet) defined... Report!<<] Network_ID: 43056 (0xa830) [= --> please lookup at http://www.dvb.org] Network_ID: 43057 (0xa831) [= --> please lookup at http://www.dvb.org] Network_ID: 43058 (0xa832) [= --> please lookup at http://www.dvb.org] Network_ID: 43059 (0xa833) [= --> please lookup at http://www.dvb.org] Network_ID: 800 (0x0320) [= >>ERROR: not (yet) defined... Report!<<] Network_ID: 43061 (0xa835) [= --> please lookup at http://www.dvb.org]
The 43xxx-NIDs are in the UPC-Range of 0xA800-0xA8FF (http://www.dvbservices.com/identifiers/network_id?page=16 but strangely, they got a 826 Country Code which would be GB, not Switzerland). I really don't know what these 3 digits NIDs are. They look like satelite NID's, but dvbservices.com does not list most of them.
I got really no idea how we could be more specific now for the Network... The sad thing about all this is that until spring 2012 UPC transmitted the EPG in a form MythTV could read without any problem, including subtitle, cast, season, episode and all... Now I think they want to promote their Horizon-Boxes.
So do you have any Idea how we can fix this in a way it will work for everyone? For me, it's not a real problem anymore, as I just apply the patch to mythtv before compile, but maybe we find a way to fix this for all the other Swiss users. I am willing to compile and test a lot if anyone got an idea...
comment:3 Changed 10 years ago by
Hm, I wonder if there is a possibility to handle this by dtv_privatetypes, but I can't find any information on how it works, not even a SELECT in the source code. Does anyone have any pointer to information about it?
comment:4 Changed 10 years ago by
The dtv_privatetypes have been superceded by the eitfixups, that database table is no longer used.
Changed 10 years ago by
Attachment: | 0001-draft-patch-to-add-support-for-private-data-specifie.patch added |
---|
comment:5 Changed 10 years ago by
I fiddled about with your patch, making more similar to existing code and trying to add a way to avoid misinterpreting non-UPC private data with the new descriptor handler. If this patch works for you, then we can refactor it some more, e.g. adding a function to test for presence of a PrivateDataSpecifierDescriptor? in a descriptor loop with a given private_data_specifier_id.
comment:6 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:7 Changed 10 years ago by
Milestone: | unknown → 0.28 |
---|
Patch to fix problem, works against GIT 7abf18a