Hy
again 10x for advices.
Second take. atached you will fin an patch for vdr-reelchannelsan plugin to ad functionality for vdr-1.7.0 patched with h264 patch and multiproto driver.
patch is for vdr-reelchannelscan-0.4.1
Cheers Lucian
____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
diff -ruN ./notpatched/filter.c ./patched/filter.c --- ./notpatched/filter.c 2006-11-24 20:55:56.000000000 +0200 +++ ./patched/filter.c 2008-05-05 23:44:17.000000000 +0300 @@ -383,16 +383,17 @@ int Ppid = pmt.getPCRPid(); int Apids[MAXAPIDS + 1] = { 0 }; int Dpids[MAXDPIDS + 1] = { 0 }; -#if VDRVERSNUM >= 10332 + int Spids[MAXSPIDS + 1] = { 0 }; +#ifndef MAXLANGCODE2 +#define MAXLANGCODE2 4 +#endif char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" }; char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" }; -#else - char ALangs[MAXAPIDS + 1][4] = { "" }; - char DLangs[MAXDPIDS + 1][4] = { "" }; -#endif + char SLangs[MAXSPIDS][MAXLANGCODE2] = { "" }; int Tpid = 0; int NumApids = 0; int NumDpids = 0; + int NumSpids = 0; for (SI::Loop::Iterator it; pmt.streamLoop.getNext(stream, it); ) { // printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(), stream.getPid(), stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());//XXX switch (stream.getStreamType()) { @@ -436,6 +437,28 @@ case SI::AC3DescriptorTag: dpid = stream.getPid(); break; +#if VDRVERSNUM >= 10510 + case SI::SubtitlingDescriptorTag: + if (NumSpids < MAXSPIDS) { + Spids[NumSpids] = stream.getPid(); + SI::SubtitlingDescriptor *sd = (SI::SubtitlingDescriptor *)d; + SI::SubtitlingDescriptor::Subtitling sub; + char *s = SLangs[NumSpids]; + int n = 0; + for (SI::Loop::Iterator it; sd->subtitlingLoop.getNext(sub, it); ) { + if (sub.languageCode[0]) { + if (n > 0) + *s++ = '+'; + strn0cpy(s, I18nNormalizeLanguageCode(sub.languageCode), MAXLANGCODE1); + s += strlen(s); + if (n++ > 1) + break; + } + } + NumSpids++; + } + break; +#endif case SI::TeletextDescriptorTag: Tpid = stream.getPid(); break; @@ -463,7 +486,7 @@ delete d; } } - Channel->SetPids(Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Tpid); + Channel->SetPids(Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid); printf("#### %i %s %i %i SID %i\n",num,Channel->Name(),Vpid, Apids[0], Channel->Sid()); Channel->SetCaIds(CaDescriptors->CaIds()); Channel->SetCaDescriptors(CaDescriptorHandler.AddCaDescriptors(CaDescriptors)); diff -ruN ./notpatched/i18n.c ./patched/i18n.c --- ./notpatched/i18n.c 2006-11-04 17:25:09.000000000 +0200 +++ ./patched/i18n.c 2008-05-05 23:01:19.000000000 +0300 @@ -207,6 +207,28 @@ "", // Dansk "", // Èesky (Czech) }, + { "SearchMode$Auto NIT", + "NIT Automatik", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", // Hrvatski (Croatian) + "", // Eesti + "", // Dansk + "", // Èesky (Czech) + }, { "Manual", "Manuell", "", @@ -317,6 +339,28 @@ "", // Dansk "", // Èesky (Czech) }, + { "Tuner", + "Tuner", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", // Hrvatski (Croatian) + "", // Eesti + "", // Dansk + "", // Èesky (Czech) + }, { "Scanning on transponder", "Durchsuche Transponder", "", @@ -524,7 +568,7 @@ "", "", "", - "Haku käynnissä %s.\tOdota hetkinen...", + "", "", "", "", @@ -546,7 +590,7 @@ "", "", "", - "Haku käynnissä %s.\tOdota hetkinen...", + "", "", "", "", diff -ruN ./notpatched/transponders.c ./patched/transponders.c --- ./notpatched/transponders.c 2006-11-04 17:25:09.000000000 +0200 +++ ./patched/transponders.c 2008-05-05 22:58:40.000000000 +0300 @@ -119,8 +119,8 @@
bool cSatTransponder::SetTransponderData(cChannel *c, int Code) { - DLOG (DBG " SetSatTransponderData(s:%d,f:%d,p:%c,sRate:%d,fec%d", Code, frequency_, pol_, symbolrate_, fec_); - return c->SetSatTransponderData(Code, frequency_, pol_, symbolrate_, fec_); + DLOG (DBG " SetSatTransponderData(s:%d,f:%d,p:%c,sRate:%d,fec%d", Code, frequency_, pol_, symbolrate_, DVBFE_FEC_AUTO, DVBFE_MOD_AUTO, DVBFE_DELSYS_DVBS, DVBFE_ROLLOFF_UNKNOWN); + return c->SetSatTransponderData(Code, frequency_, pol_, symbolrate_, DVBFE_FEC_AUTO, DVBFE_MOD_AUTO, DVBFE_DELSYS_DVBS, DVBFE_ROLLOFF_UNKNOWN); }
@@ -221,9 +221,8 @@
// printf (DBG " SetTerrTransponderData(s:%d,f: %d ,BW: %d, mod %d, Hier %d\n,fec_h %d/l %d,G %d,T %d ", type, // frequency_, bandwidth_, modulation_, hierarchy_, fec_h_, fec_l_, guard_, transmission_); - return c->SetTerrTransponderData(type, frequency_, bandwidth_, modulation_, hierarchy_, fec_h_, - fec_l_, guard_, transmission_);// - + return c->SetTerrTransponderData(type, frequency_, bandwidth_, modulation_, hierarchy_, fec_h_, fec_l_, guard_, transmission_, DVBFE_ALPHA_1, DVBFE_STREAM_PRIORITY_HP); + } //----------- Class cCableTransponder ------------------------------