| 1 | Index: siparser.cpp
|
|---|
| 2 | ===================================================================
|
|---|
| 3 | --- siparser.cpp (revision 7770)
|
|---|
| 4 | +++ siparser.cpp (working copy)
|
|---|
| 5 | @@ -1435,7 +1435,11 @@
|
|---|
| 6 | #endif
|
|---|
| 7 |
|
|---|
| 8 | // Hold short & extended event information from descriptors.
|
|---|
| 9 | + QString bestLanguageSE = "";
|
|---|
| 10 | + uint bestPrioritySE = UINT_MAX;
|
|---|
| 11 | const unsigned char *bestDescriptorSE = NULL;
|
|---|
| 12 | + QString bestLanguageEE = "";
|
|---|
| 13 | + uint bestPriorityEE = UINT_MAX;
|
|---|
| 14 | vector<const unsigned char*> bestDescriptorsEE;
|
|---|
| 15 |
|
|---|
| 16 | // Parse descriptors
|
|---|
| 17 | @@ -1446,8 +1450,9 @@
|
|---|
| 18 | // Pick out EIT descriptors for later parsing, and parse others.
|
|---|
| 19 | while ((des_pos < (pos + descriptors_length)) && (des_pos <= size))
|
|---|
| 20 | {
|
|---|
| 21 | - des_pos += ProcessDVBEventDescriptors(
|
|---|
| 22 | - &buffer[des_pos], bestDescriptorSE, bestDescriptorsEE, event);
|
|---|
| 23 | + des_pos += ProcessDVBEventDescriptors(&buffer[des_pos],
|
|---|
| 24 | + bestLanguageSE, bestPrioritySE, bestDescriptorSE,
|
|---|
| 25 | + bestLanguageEE, bestPriorityEE, bestDescriptorsEE, event);
|
|---|
| 26 | }
|
|---|
| 27 |
|
|---|
| 28 | // Parse extended event descriptions for the most preferred language
|
|---|
| 29 | @@ -1944,7 +1949,7 @@
|
|---|
| 30 | return retval;
|
|---|
| 31 | }
|
|---|
| 32 |
|
|---|
| 33 | -/** \fn ProcessDVBEventDescriptors(const unsigned char*,QString&,const unsigned char*,QString&, vector<const unsigned char*>&,Event&)
|
|---|
| 34 | +/** \fn ProcessDVBEventDescriptors(const unsigned char*,QString&,uint,const unsigned char*,QString&,uint,vector<const unsigned char*>&,Event&)
|
|---|
| 35 | * \brief Processes non-language dependent DVB Event descriptors, and caches
|
|---|
| 36 | * language dependent DVB Event descriptors for the most preferred
|
|---|
| 37 | * language.
|
|---|
| 38 | @@ -1952,16 +1957,14 @@
|
|---|
| 39 | */
|
|---|
| 40 | uint SIParser::ProcessDVBEventDescriptors(
|
|---|
| 41 | const unsigned char *data,
|
|---|
| 42 | + QString &bestLanguageSE,
|
|---|
| 43 | + uint &bestPrioritySE,
|
|---|
| 44 | const unsigned char* &bestDescriptorSE,
|
|---|
| 45 | + QString &bestLanguageEE,
|
|---|
| 46 | + uint &bestPriorityEE,
|
|---|
| 47 | vector<const unsigned char*> &bestDescriptorsEE,
|
|---|
| 48 | Event &event)
|
|---|
| 49 | {
|
|---|
| 50 | - QString bestLanguageSE = "";
|
|---|
| 51 | - uint bestPrioritySE = UINT_MAX;
|
|---|
| 52 | -
|
|---|
| 53 | - QString bestLanguageEE = "";
|
|---|
| 54 | - uint bestPriorityEE = UINT_MAX;
|
|---|
| 55 | -
|
|---|
| 56 | uint descriptorTag = data[0];
|
|---|
| 57 | uint descriptorLength = data[1];
|
|---|
| 58 |
|
|---|
| 59 | Index: siparser.h
|
|---|
| 60 | ===================================================================
|
|---|
| 61 | --- siparser.h (revision 7770)
|
|---|
| 62 | +++ siparser.h (working copy)
|
|---|
| 63 | @@ -174,7 +174,11 @@
|
|---|
| 64 | // DVB EIT Table Descriptor processors
|
|---|
| 65 | uint ProcessDVBEventDescriptors(
|
|---|
| 66 | const unsigned char *data,
|
|---|
| 67 | + QString &bestLanguageSE,
|
|---|
| 68 | + uint &bestPrioritySE,
|
|---|
| 69 | const unsigned char* &bestDescriptorSE,
|
|---|
| 70 | + QString &bestLanguageEE,
|
|---|
| 71 | + uint &bestPriorityEE,
|
|---|
| 72 | vector<const unsigned char*> &bestDescriptorsEE,
|
|---|
| 73 | Event &event);
|
|---|
| 74 |
|
|---|