Hi Carsten, Hi Klaus,
I will prepare a patch that doesn't change VDR's default behaviour. You are absolutly right about that.
On Sunday 19 June 2005 13:49, Carsten Koch wrote:
Klaus Schmidinger wrote: ...
it would appear to me that this won't work if no SourceCaps are set. If you really want this to go into VDR then you need to make sure a system that does not have SourceCaps set (which IMHO will be the majority) will still work.
I fully agree that the default must be "source is provided".
I suppose a global flag "SourceCapsSet" which is initialized to false and which is set true true by ParseSourceCaps should do the trick?
I will try a per device flag approach, which will give a bit more flexibility.
After all, this is Christian's patch, so I do not want to take it over unless Christian wants me to. Christian, are you reading this? Would you like to fix your patch so Klaus can accept it?
Yes, I will try, I will post to the list so that you can review it, when it is ready.
BTW: what's with this:
diff -ru /hetis/home/cko/VDR/sources.c VDR/sources.c --- /hetis/home/cko/VDR/sources.c 2004-12-26 12:58:52.000000000 +0100 +++ VDR/sources.c 2005-04-05 22:12:55.421326944 +0200 @@ -68,7 +68,7 @@ int pos = 0; bool dot = false; bool neg = false;
while (*++s) {
while (*++s && !isblank(*s)) { switch (toupper(*s)) { case '0' ... '9': pos *= 10; pos += *s - '0';
Obviously this has nothing to do with SourceCaps - but what's it for then?
I do not know. My guess is that Christian needed this in a previous version of cSetup::ParseSourceCaps? After all, cSetup::ParseSourceCaps is calling cSource::FromString. I believe this hunk can safely be omitted.
No, tried this, but omitting breaks the patch. The reason for this small patch is that without the !isblank(*s) term the cSourceFrom::FromString won't accept a list of source ssepareted by white spaces, which is need to keep the parsing simple. For expample parsing a string like "SourceCaps = 1 S13.0E S19.2E S5.0E" will lead to three cSource::FormString(...) calls with this input strings "S13.0E S19.2E S5.0E" "S19.E S5.0E" "S5.0E" Without the !isblank(*s) term the return value would be stNone, which is not exactly what i need ;-) But if you dislike this behaviour, i will change the Parse function and leave cSource untouched?
Have a nice day (and nice holiydays)
Carsten.
Christian