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;
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;
14 + tuner_source = (data_source)tunernum;
17 eDebug("try to get source for tuner %d!!\n", tunernum);
19 @@ -646,6 +645,8 @@ int eDVBCIInterfaces::getMMIState(int slotid)
20 return slot->getMMIState();
23 +static const char *tuner_source[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "CI0", "CI1", "CI2", "CI3"};
25 int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
27 // eDebug("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
28 @@ -666,29 +667,8 @@ int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
33 - fprintf(input, "CI0");
36 - fprintf(input, "CI1");
39 - fprintf(input, "CI2");
42 - fprintf(input, "CI3");
45 - fprintf(input, "A");
48 - fprintf(input, "B");
51 - fprintf(input, "C");
54 - fprintf(input, "D");
55 + case TUNER_A ... CI_D:
56 + fprintf(input, tuner_source[(int)source]);
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");
87 + case TUNER_A ... CI_D:
88 + fprintf(ci, tuner_source[(int)source]);
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
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, TUNER_K, TUNER_L, TUNER_M, TUNER_N, TUNER_O, TUNER_P, TUNER_Q, TUNER_R, CI_A, CI_B, CI_C, CI_D
104 typedef std::pair<std::string, uint32_t> providerPair;