]> git.pld-linux.org Git - packages/mythtv.git/blob - myth_dn-eit_r10247.diff
- obsolete
[packages/mythtv.git] / myth_dn-eit_r10247.diff
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
5 @@ -223,8 +223,12 @@
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
23 @@ -115,6 +115,11 @@
24          audio_stream                = 0x81,
25          caption_service             = 0x86,
26          content_advisory            = 0x87,
27 +
28 +        // Dish Network
29 +        dish_ename                  = 0x91,
30 +        dish_edescription           = 0x92,
31 +
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
39 @@ -570,6 +570,9 @@
40              break;
41          case 0x42: /* Service Table(s) */
42          case 0x46:  
43 +            VERBOSE(VB_SIPARSER, LOC + QString("Calling ParseSDT (%1 / %2)")
44 +                                   .arg(head.table_id, 0, 16).arg(pid, 0, 16));
45 +
46              ParseSDT(pid, &head, &buffer[8], size-8);
47              break;
48  #ifdef USING_DVB_EIT
49 @@ -577,6 +580,14 @@
50              /* Standard Now/Next Event Information Table(s) */
51          case 0x50 ... 0x6F:
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);
56 +            break;
57 +        case 0x80 ... 0xFE:
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);
62              break;
63  #endif
64 @@ -1180,6 +1191,9 @@
65      uint16_t network_id = buffer[0] << 8 | buffer[1];
66      // TODO: Handle Network Specifics here if they aren't set
67  
68 +    //TODO : Make this configurable.
69 +    PrivateTypes.ForceGuidePresent = true;
70 +
71      if (PrivateTypesLoaded == false)
72          LoadPrivateTypes(network_id);
73  
74 @@ -1266,6 +1280,13 @@
75              Table[EVENTS]->RequestEmit(s.ServiceID);
76              eit_requested = true;
77          }
78
79 +        //TODO: This should be tied into the above ?
80 +        if ((PrivateTypes.ForceGuidePresent) && (!eit_requested))
81 +        {
82 +            Table[EVENTS]->RequestEmit(s.ServiceID);
83 +            eit_requested = true;
84 +        }
85  #endif
86  
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
92 +
93 +    // This should only be added based on the user enabling 7-9day dishnet
94 +    // EIT events
95 +    Table[EVENTS]->AddPid(0x300,0x00,0x00,true);
96  }
97  
98  /** \fn SIParser::GetLanguagePriority(const QString&)
99 @@ -1967,6 +1992,7 @@
100  {
101      uint    descriptorTag    = data[0];
102      uint    descriptorLength = data[1];
103 +    int tnum;
104  
105      switch (descriptorTag)
106      {
107 @@ -2022,6 +2048,28 @@
108              ProcessContentDescriptor(data, descriptorLength + 2, event);
109              break;
110  
111 +        case DescriptorID::dish_ename:
112 +            if (event.TableID > 0x80)
113 +                tnum = 2;
114 +            else
115 +                tnum = 1;
116 +
117 +            Huffman2ToQString((uint8_t *)data+3, data[1]-1, tnum, event.Event_Name);
118 +            break;
119 +
120 +        case DescriptorID::dish_edescription:
121 +            if (event.TableID > 0x80)
122 +                tnum = 2;
123 +            else
124 +                tnum = 1;
125 +
126 +            if ((data[3]&0xf8) == 0x80)
127 +                Huffman2ToQString((uint8_t *)data+4, data[1]-2, tnum, event.Description);
128 +            else
129 +                Huffman2ToQString((uint8_t *)data+3, data[1]-1, tnum, event.Description);
130 +            //VERBOSE(VB_EIT, LOC + QString("Descr : %1").arg(event.Description));
131 +            break;
132 +
133          default:
134              ProcessUnusedDescriptor(pid, data, descriptorLength + 2);
135              break;
This page took 0.05183 seconds and 3 git commands to generate.