1 Index: libs/libmythtv/mpeg/mpegdescriptors.cpp
2 ===================================================================
3 --- libs/libmythtv/mpeg/mpegdescriptors.cpp.orig 2006-06-20 17:31:10.000000000 -0400
4 +++ libs/libmythtv/mpeg/mpegdescriptors.cpp 2006-06-20 17:36:06.000000000 -0400
6 return QString("Audio");
7 case DescriptorID::caption_service:
8 return QString("Caption Service");
9 - case DescriptorID:: content_advisory:
10 + case DescriptorID::content_advisory:
11 return QString("Content Advisory");
12 + case DescriptorID::dish_ename:
13 + return QString("Dishnet EIT Name");
14 + case DescriptorID::dish_edescription:
15 + return QString("Dishnet EIT Description");
16 case DescriptorID::extended_channel_name:
17 return QString("Extended Channel Name");
18 case DescriptorID::service_location:
19 Index: libs/libmythtv/mpeg/mpegdescriptors.h
20 ===================================================================
21 --- libs/libmythtv/mpeg/mpegdescriptors.h.orig 2006-06-20 17:31:10.000000000 -0400
22 +++ libs/libmythtv/mpeg/mpegdescriptors.h 2006-06-20 17:36:06.000000000 -0400
25 caption_service = 0x86,
26 content_advisory = 0x87,
30 + dish_edescription = 0x92,
32 extended_channel_name = 0xA0,
33 service_location = 0xA1,
34 atsc_time_shifted_service = 0xA2,
35 Index: libs/libmythtv/siparser.cpp
36 ===================================================================
37 --- libs/libmythtv/siparser.cpp.orig 2006-06-20 17:31:10.000000000 -0400
38 +++ libs/libmythtv/siparser.cpp 2006-06-20 17:37:24.000000000 -0400
41 case 0x42: /* Service Table(s) */
43 + VERBOSE(VB_SIPARSER, LOC + QString("Calling ParseSDT (%1 / %2)")
44 + .arg(head.table_id, 0, 16).arg(pid, 0, 16));
46 ParseSDT(pid, &head, &buffer[8], size-8);
50 /* Standard Now/Next Event Information Table(s) */
52 /* Standard Future Event Information Table(s) */
53 + VERBOSE(VB_SIPARSER, LOC + QString("Calling ParseDVBEIT (%1/%2)")
54 + .arg(head.table_id, 0, 16).arg(pid, 0, 16));
55 + ParseDVBEIT(pid, &head, &buffer[8], size-8);
58 + /* Dishnet uses this range for longterm(7-9days) EIT */
59 + VERBOSE(VB_SIPARSER, LOC + QString("Calling ParseDVBEIT DN(%1/%2)")
60 + .arg(head.table_id, 0, 16).arg(pid, 0, 16));
61 ParseDVBEIT(pid, &head, &buffer[8], size-8);
65 uint16_t network_id = buffer[0] << 8 | buffer[1];
66 // TODO: Handle Network Specifics here if they aren't set
68 + //TODO : Make this configurable.
69 + PrivateTypes.ForceGuidePresent = true;
71 if (PrivateTypesLoaded == false)
72 LoadPrivateTypes(network_id);
74 @@ -1266,6 +1280,13 @@
75 Table[EVENTS]->RequestEmit(s.ServiceID);
79 + //TODO: This should be tied into the above ?
80 + if ((PrivateTypes.ForceGuidePresent) && (!eit_requested))
82 + Table[EVENTS]->RequestEmit(s.ServiceID);
83 + eit_requested = true;
87 VERBOSE(VB_SIPARSER, LOC +
88 @@ -1292,6 +1313,10 @@
89 Table[EVENTS]->DependencyMet(SERVICES);
90 //Table[EVENTS]->AddPid(0x12,0x00,0x00,true); // see ticket #755
91 Table[EVENTS]->AddPid(0x12,0x7F,0x80,0x12); // see ticket #755
93 + // This should only be added based on the user enabling 7-9day dishnet
95 + Table[EVENTS]->AddPid(0x300,0x00,0x00,true);
98 /** \fn SIParser::GetLanguagePriority(const QString&)
101 uint descriptorTag = data[0];
102 uint descriptorLength = data[1];
105 switch (descriptorTag)
107 @@ -2022,6 +2048,28 @@
108 ProcessContentDescriptor(data, descriptorLength + 2, event);
111 + case DescriptorID::dish_ename:
112 + if (event.TableID > 0x80)
117 + Huffman2ToQString((uint8_t *)data+3, data[1]-1, tnum, event.Event_Name);
120 + case DescriptorID::dish_edescription:
121 + if (event.TableID > 0x80)
126 + if ((data[3]&0xf8) == 0x80)
127 + Huffman2ToQString((uint8_t *)data+4, data[1]-2, tnum, event.Description);
129 + Huffman2ToQString((uint8_t *)data+3, data[1]-1, tnum, event.Description);
130 + //VERBOSE(VB_EIT, LOC + QString("Descr : %1").arg(event.Description));
134 ProcessUnusedDescriptor(pid, data, descriptorLength + 2);