On 08.03.2010 04:22, ????????? ?????? wrote: > Hi > >> IPTV doesn't need patches anymore. > Fine :) > > But I have another trouble. > > create channel > RENTV;IPTV:10:S=1|P=1|F=UDP|U=239.4.0.1|A=2020:I:27500:300=2:301:0:0:1:0:0:0 > > > Start vdr and select it, works fine. > Change to sat channel, and select iptv again > > The channel can't selected, in log: > > Mar 8 12:57:57 ua0lnjvdr vdr: [6823] ERROR: Invalid channel parameters: > S=1 > Mar 8 12:57:57 ua0lnjvdr vdr: [6823] ERROR: Unrecognized IPTV address: S=1 > Mar 8 12:57:57 ua0lnjvdr vdr: [6823] ERROR: Can't start Transfer Mode! > > After this, in channels.conf have: > > RENTV;IPTV:10:S=1:I:27500:300=2:301:0:0:1:0:0:0 > > I found also http://www.vdr-portal.de/board/thread.php?threadid=94442 > > Any suggestions? Not sure if this applies here, but there was a bug in VDR 1.7.13's channel editing in cDvbSourceParam. The attached patch fixes this. Klaus
--- dvbdevice.c 2010/03/06 11:07:05 2.30 +++ dvbdevice.c 2010/03/07 11:45:43 2.31 @@ -576,7 +576,7 @@ class cDvbSourceParam : public cSourceParam { private: int param; - cChannel data; + int srate; cDvbTransponderParameters dtp; public: cDvbSourceParam(char Source, const char *Description); @@ -589,19 +589,19 @@ :cSourceParam(Source, Description) { param = 0; + srate = 0; } void cDvbSourceParam::SetData(cChannel *Channel) { - data = *Channel; - dtp.Parse(data.Parameters()); + srate = Channel->Srate(); + dtp.Parse(Channel->Parameters()); param = 0; } void cDvbSourceParam::GetData(cChannel *Channel) { - data.SetTransponderData(Channel->Source(), Channel->Frequency(), data.Srate(), dtp.ToString(Source()), true); - *Channel = data; + Channel->SetTransponderData(Channel->Source(), Channel->Frequency(), srate, dtp.ToString(Source()), true); } cOsdItem *cDvbSourceParam::GetOsdItem(void) @@ -612,7 +612,7 @@ switch (param++) { case 0: ST(" S ") return new cMenuEditChrItem( tr("Polarization"), &dtp.polarization, "hvlr"); else return GetOsdItem(); case 1: ST(" S ") return new cMenuEditMapItem( tr("System"), &dtp.system, SystemValues); else return GetOsdItem(); - case 2: ST(" CS ") return new cMenuEditIntItem( tr("Srate"), &data.srate); else return GetOsdItem(); + case 2: ST(" CS ") return new cMenuEditIntItem( tr("Srate"), &srate); else return GetOsdItem(); case 3: ST("ACST") return new cMenuEditMapItem( tr("Inversion"), &dtp.inversion, InversionValues); else return GetOsdItem(); case 4: ST(" CST") return new cMenuEditMapItem( tr("CoderateH"), &dtp.coderateH, CoderateValues); else return GetOsdItem(); case 5: ST(" T") return new cMenuEditMapItem( tr("CoderateL"), &dtp.coderateL, CoderateValues); else return GetOsdItem();
_______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr