Ticket #1056: 1056.patch
File 1056.patch, 2.9 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/siparser.cpp
583 583 /* Standard Future Event Information Table(s) */ 584 584 ParseDVBEIT(pid, &head, &buffer[8], size-8); 585 585 break; 586 case 0x80 ... 0xFE: 587 /* Dishnet uses this range for longterm(7-9days) EIT */ 588 ParseDVBEIT(pid, &head, &buffer[8], size-8); 589 break; 586 590 #endif 587 591 } 588 592 } … … 1198 1202 uint16_t network_id = buffer[0] << 8 | buffer[1]; 1199 1203 // TODO: Handle Network Specifics here if they aren't set 1200 1204 1205 // TODO : Make this configurable. 1206 //PrivateTypes.ForceGuidePresent = true; 1207 1201 1208 if (PrivateTypesLoaded == false) 1202 1209 LoadPrivateTypes(network_id); 1203 1210 … … 1274 1281 bool eit_requested = false; 1275 1282 1276 1283 #ifdef USING_DVB_EIT 1277 if ((s.EITPresent) &&1278 (s.ServiceType == SDTObject::TV ||1279 s.ServiceType == SDTObject::RADIO) &&1280 ( (!PrivateTypes.GuideOnSingleTransport) ||1281 ((PrivateTypes.GuideOnSingleTransport) && 1282 (PrivateTypes.GuideTransportID ==1283 PrivateTypes.CurrentTransportID))))1284 bool valid_service = s.ServiceType == SDTObject::TV || 1285 s.ServiceType == SDTObject::RADIO; 1286 bool valid_transport = !PrivateTypes.GuideOnSingleTransport || 1287 (PrivateTypes.GuideTransportID == PrivateTypes.CurrentTransportID); 1288 1289 if (PrivateTypes.ForceGuidePresent || 1290 (s.EITPresent && valid_service && valid_transport)) 1284 1291 { 1285 1292 Table[EVENTS]->RequestEmit(s.ServiceID); 1286 1293 eit_requested = true; … … 1311 1318 Table[EVENTS]->DependencyMet(SERVICES); 1312 1319 //Table[EVENTS]->AddPid(0x12,0x00,0x00,true); // see ticket #755 1313 1320 Table[EVENTS]->AddPid(0x12,0x7F,0x80,0x12); // see ticket #755 1321 1322 // This should only be added based on the user enabling 7-9day dishnet 1323 // EIT events 1324 //Table[EVENTS]->AddPid(0x300,0x00,0x00,true); 1314 1325 } 1315 1326 1316 1327 /** \fn SIParser::GetLanguagePriority(const QString&) … … 2041 2052 ProcessContentDescriptor(data, descriptorLength + 2, event); 2042 2053 break; 2043 2054 2055 case DescriptorID::dish_ename: 2056 { 2057 int ht = (event.TableID > 0x80) ? 2 : 1; 2058 huffman2_to_string(data+3, data[1]-1, ht, event.Event_Name); 2059 } 2060 break; 2061 2062 case DescriptorID::dish_edescription: 2063 { 2064 int ht = (event.TableID > 0x80) ? 2 : 1; 2065 if ((data[3] & 0xf8) == 0x80) 2066 huffman2_to_string(data+4, data[1]-2, ht, event.Description); 2067 else 2068 huffman2_to_string(data+3, data[1]-1, ht, event.Description); 2069 } 2070 break; 2071 2044 2072 default: 2045 2073 ProcessUnusedDescriptor(pid, data, descriptorLength + 2); 2046 2074 break;