Ticket #579: siparser.patch
| File siparser.patch, 1.6 KB (added by , 20 years ago) |
|---|
-
siparser.cpp
1443 1443 pos += 12; 1444 1444 des_pos = pos; 1445 1445 1446 1447 bestDescriptorsEE.clear(); 1448 bestDescriptorSE = NULL; 1446 1449 // Pick out EIT descriptors for later parsing, and parse others. 1447 1450 while ((des_pos < (pos + descriptors_length)) && (des_pos <= size)) 1448 1451 { 1449 1452 des_pos += ProcessDVBEventDescriptors( 1450 1453 &buffer[des_pos], bestDescriptorSE, bestDescriptorsEE, event); 1451 1454 } 1452 1453 1455 // Parse extended event descriptions for the most preferred language 1454 1456 for (uint i = 0; i < bestDescriptorsEE.size(); ++i) 1455 1457 { … … 1952 1954 */ 1953 1955 uint SIParser::ProcessDVBEventDescriptors( 1954 1956 const unsigned char *data, 1955 const unsigned char* &bestDescriptorSE,1957 const unsigned char* &bestDescriptorSE, 1956 1958 vector<const unsigned char*> &bestDescriptorsEE, 1957 1959 Event &event) 1958 1960 { 1959 1961 QString bestLanguageSE = ""; 1960 1962 uint bestPrioritySE = UINT_MAX; 1961 bestDescriptorSE = NULL;1962 1963 1963 1964 QString bestLanguageEE = ""; 1964 1965 uint bestPriorityEE = UINT_MAX; 1965 bestDescriptorsEE.clear();1966 1966 1967 1967 uint descriptorTag = data[0]; 1968 1968 uint descriptorLength = data[1]; … … 1975 1975 1976 1976 uint priority = GetLanguagePriority(language); 1977 1977 bestPrioritySE = min(bestPrioritySE, priority); 1978 1979 1978 if (priority == bestPrioritySE) 1980 1979 { 1981 1980 // add the descriptor, and update the language
