Re: [vdr] polarization character case in channels.conf

2012-12-03 Thread Klaus Schmidinger

On 08.11.2012 21:14, Klaus Schmidinger wrote:

On 08.11.2012, at 20:43, Stefan Huelswitt  wrote:


Hi,

I can confirm this problem, at least in 1.7.27 (which I'm using at the moment). 
I use the attached patch to resolve it.

Am 08.11.2012 10:19, schrieb Klaus Schmidinger:

Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.


Right, but the toupper() is only in the comparision, but it passes the original 
(lowercase) value. And later during tuning the comparision fails.


Ah, now I see why it works here - I'm using DiSEqC. Like apparently almost
everybody else, otherwise this problem should have surfaced much earlier ;-)


Since there are also other places where 
cDvbTransponderParameters::Polarization() is
used, I'm going to fix the case right where the original string is parsed:

--- dvbdevice.c 2012/10/07 11:11:30 2.74
+++ dvbdevice.c 2012/12/03 14:07:01
@@ -261,16 +261,16 @@
   case 'C': s = ParseParameter(s, coderateH, CoderateValues); break;
   case 'D': s = ParseParameter(s, coderateL, CoderateValues); break;
   case 'G': s = ParseParameter(s, guard, GuardValues); break;
-  case 'H': polarization = *s++; break;
+  case 'H': polarization = 'H'; s++; break;
   case 'I': s = ParseParameter(s, inversion, InversionValues); break;
-  case 'L': polarization = *s++; break;
+  case 'L': polarization = 'L'; s++; break;
   case 'M': s = ParseParameter(s, modulation, ModulationValues); break;
   case 'O': s = ParseParameter(s, rollOff, RollOffValues); break;
   case 'P': s = ParseParameter(s, plpId); break;
-  case 'R': polarization = *s++; break;
+  case 'R': polarization = 'R'; s++; break;
   case 'S': s = ParseParameter(s, system, SystemValuesSat); break; // 
we only need the numerical value, so Sat or Terr doesn't matter
   case 'T': s = ParseParameter(s, transmission, TransmissionValues); 
break;
-  case 'V': polarization = *s++; break;
+  case 'V': polarization = 'V'; s++; break;
   case 'Y': s = ParseParameter(s, hierarchy, HierarchyValues); break;
   default: esyslog("ERROR: unknown parameter key '%c'", *s);
return false;

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-08 Thread Klaus Schmidinger
On 08.11.2012, at 20:43, Stefan Huelswitt  wrote:

> Hi,
> 
> I can confirm this problem, at least in 1.7.27 (which I'm using at the 
> moment). I use the attached patch to resolve it.
> 
> Am 08.11.2012 10:19, schrieb Klaus Schmidinger:
 Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
 I would expect that all characters can be given in either upper- or
 lowercase.
> 
> Right, but the toupper() is only in the comparision, but it passes the 
> original (lowercase) value. And later during tuning the comparision fails.

Ah, now I see why it works here - I'm using DiSEqC. Like apparently almost
everybody else, otherwise this problem should have surfaced much earlier ;-)

Klaus
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-08 Thread Stefan Huelswitt

Hi,

I can confirm this problem, at least in 1.7.27 (which I'm using at the 
moment). I use the attached patch to resolve it.


Am 08.11.2012 10:19, schrieb Klaus Schmidinger:

Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.


Right, but the toupper() is only in the comparision, but it passes the 
original (lowercase) value. And later during tuning the comparision fails.


Regards.

--
Stefan Huelswitt
s.huelsw...@gmx.de  | http://www.muempf.de/
diff -uN -x .dependencies -x vdr.pc -x Make.config -x '*.o' -x '*.rej' 
vdr-1.7.27-orig/dvbdevice.c vdr-current-1.7.27/dvbdevice.c
--- vdr-1.7.27-orig/dvbdevice.c 2012-03-25 12:41:45.0 +0200
+++ vdr-current-1.7.27/dvbdevice.c  2012-07-21 19:12:57.542055052 +0200
@@ -769,7 +771,7 @@
frequency -= Setup.LnbFrequHi;
tone = SEC_TONE_ON;
}
-int volt = (dtp.Polarization() == 'V' || dtp.Polarization() == 'R') ? 
SEC_VOLTAGE_13 : SEC_VOLTAGE_18;
+int volt = (dtp.Polarization() == 'V' || dtp.Polarization() == 'R' || 
dtp.Polarization() == 'v' || dtp.Polarization() == 'r') ? SEC_VOLTAGE_13 : 
SEC_VOLTAGE_18;
 if (GetBondedMaster() != this) {
tone = SEC_TONE_OFF;
volt = SEC_VOLTAGE_13;
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-08 Thread Mike Hay
Well, there is a toupper() in cDvbTransponderParameters::Parse(), 
so

I would expect that all characters can be given in either upper- or
lowercase.

Are you sure the case was the problem?

Klaus


I'm pretty sure it is the case as I have tested the following two 
strings with no other changes and get different results.


ITV1 London;BSkyB:10758:VC56M2O0S0:S28.2E:22000:3328=2:3329=eng at 
4,3330=NAR at 4:2326;2327=eng:0:10060:2:2044:0 # This works
ITV1 London;BSkyB:10758:vC56M2O0S0:S28.2E:22000:3328=2:3329=eng at 
4,3330=NAR at 4:2326;2327=eng:0:10060:2:2044:0 # This doesn't


I tried this one and it works just fine here.
Case apparently doesn't matter.

Are you using plain vanilla VDR 1.7.31, or have you applied any 
patches?


Klaus


I'm using packages from yaVDR repo's - I'm not sure what patches they 
apply.


Mike

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-08 Thread Klaus Schmidinger

On 07.11.2012 17:12, Mike Hay wrote:

Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.

Are you sure the case was the problem?

Klaus


I'm pretty sure it is the case as I have tested the following two strings with 
no other changes and get different results.

ITV1 
London;BSkyB:10758:VC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This works
ITV1 
London;BSkyB:10758:vC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This doesn't


I tried this one and it works just fine here.
Case apparently doesn't matter.

Are you using plain vanilla VDR 1.7.31, or have you applied any patches?

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-07 Thread Timothy D. Lenz
I have used upper and lower case to denote for different sources in the 
past in diseqc.conf and it worked. Case needs to, or needed to in the 
past, match.


On 11/7/2012 9:12 AM, Mike Hay wrote:

Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.

Are you sure the case was the problem?

Klaus


I'm pretty sure it is the case as I have tested the following two strings with 
no other changes and get different results.

ITV1 
London;BSkyB:10758:VC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This works
ITV1 
London;BSkyB:10758:vC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This doesn't

Mike



___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr



___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-07 Thread Mike Hay

Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.

Are you sure the case was the problem?

Klaus


I'm pretty sure it is the case as I have tested the following two strings with 
no other changes and get different results.

ITV1 
London;BSkyB:10758:VC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This works
ITV1 
London;BSkyB:10758:vC56M2O0S0:S28.2E:22000:3328=2:3329=eng@4,3330=NAR@4:2326;2327=eng:0:10060:2:2044:0
 # This doesn't

Mike

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] polarization character case in channels.conf

2012-11-07 Thread Klaus Schmidinger

On 07.11.2012 15:36, Mike Hay wrote:

Hi list,

I recently lost access to all vertically polarised channels and after quite a 
bit of floundering about I discovered the reason for this is due to the case of 
the polarisation character in channels.conf.

According to the vdr changelog it has been possible to specify this in either upper or lower case 
since version 0.6 but it seems this is not correct - at least in 1.7.31. I generate my 
channels.conf with w_scan and it produces lower case "h" and "v" for 
polarisation. It seemed to work OK for the
horizontal channels but not the vertical. Perhaps it works for horizontal 
because this is the default position...

Anyway I have resolved my issue by manually changing the case of these 
characters in channels.conf but wondered if this is really a bug or just a 
misunderstanding on my part.


Well, there is a toupper() in cDvbTransponderParameters::Parse(), so
I would expect that all characters can be given in either upper- or
lowercase.

Are you sure the case was the problem?

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr