[dvbapp] increase PR
[vuplus_openvuplus_3.0] / meta-bsp / recipes-vuplus / enigma2 / enigma2 / vusolo4k / enigma2_dvb_ci_fbc.patch
1 diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
2 index 374672a..1b50e67 100644
3 --- a/lib/dvb_ci/dvbci.cpp
4 +++ b/lib/dvb_ci/dvbci.cpp
5 @@ -495,10 +495,9 @@ void eDVBCIInterfaces::recheckPMTHandlers()
6                                                 data_source tuner_source = TUNER_A;
7                                                 switch (tunernum)
8                                                 {
9 -                                                       case 0: tuner_source = TUNER_A; break;
10 -                                                       case 1: tuner_source = TUNER_B; break;
11 -                                                       case 2: tuner_source = TUNER_C; break;
12 -                                                       case 3: tuner_source = TUNER_D; break;
13 +                                                       case 0 ... 10:
14 +                                                               tuner_source = (data_source)tunernum;
15 +                                                               break;
16                                                         default:
17                                                                 eDebug("try to get source for tuner %d!!\n", tunernum);
18                                                                 break;
19 @@ -646,6 +645,8 @@ int eDVBCIInterfaces::getMMIState(int slotid)
20         return slot->getMMIState();
21  }
22  
23 +static const char *tuner_source[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "CI0", "CI1", "CI2", "CI3"};
24 +
25  int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
26  {
27  //     eDebug("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
28 @@ -666,29 +667,8 @@ int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
29  
30                 switch(source)
31                 {
32 -                       case CI_A:
33 -                               fprintf(input, "CI0");
34 -                               break;
35 -                       case CI_B:
36 -                               fprintf(input, "CI1");
37 -                               break;
38 -                       case CI_C:
39 -                               fprintf(input, "CI2");
40 -                       break;
41 -                       case CI_D:
42 -                               fprintf(input, "CI3");
43 -                               break;
44 -                       case TUNER_A:
45 -                               fprintf(input, "A");
46 -                               break;
47 -                       case TUNER_B:
48 -                               fprintf(input, "B");
49 -                               break;
50 -                       case TUNER_C:
51 -                               fprintf(input, "C");
52 -                               break;
53 -                       case TUNER_D:
54 -                               fprintf(input, "D");
55 +                       case TUNER_A ... CI_D:
56 +                               fprintf(input, tuner_source[(int)source]);
57                                 break;
58                         default:
59                                 eDebug("setInputSource for input %d failed!!!\n", (int)source);
60 @@ -1281,29 +1261,8 @@ int eDVBCISlot::setSource(data_source source)
61                 FILE *ci = fopen(buf, "wb");
62                 switch(source)
63                 {
64 -                       case CI_A:
65 -                               fprintf(ci, "CI0");
66 -                               break;
67 -                       case CI_B:
68 -                               fprintf(ci, "CI1");
69 -                               break;
70 -                       case CI_C:
71 -                               fprintf(ci, "CI2");
72 -                               break;
73 -                       case CI_D:
74 -                               fprintf(ci, "CI3");
75 -                               break;
76 -                       case TUNER_A:
77 -                               fprintf(ci, "A");
78 -                               break;
79 -                       case TUNER_B:
80 -                               fprintf(ci, "B");
81 -                               break;
82 -                       case TUNER_C:
83 -                               fprintf(ci, "C");
84 -                               break;
85 -                               case TUNER_D:
86 -                               fprintf(ci, "D");
87 +                       case TUNER_A ... CI_D:
88 +                               fprintf(ci, tuner_source[(int)source]);
89                                 break;
90                         default:
91                                 eDebug("CI Slot %d: setSource %d failed!!!\n", getSlotID(), (int)source);
92 diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h
93 index de84e18..c90ec10 100644
94 --- a/lib/dvb_ci/dvbci.h
95 +++ b/lib/dvb_ci/dvbci.h
96 @@ -35,7 +35,7 @@ struct queueData
97  
98  enum data_source
99  {
100 -       TUNER_A, TUNER_B, TUNER_C, TUNER_D, CI_A, CI_B, CI_C, CI_D
101 +       TUNER_A=0, TUNER_B, TUNER_C, TUNER_D, TUNER_E, TUNER_F, TUNER_G, TUNER_H, TUNER_I, TUNER_J, CI_A, CI_B, CI_C, CI_D
102  };
103  
104  typedef std::pair<std::string, uint32_t> providerPair;