[vdr] Re: SourceCaps (was: vdr 1.3 SUSE RPMs)
Christian Schuld
chris at sonnengesicht.de
Sun Jun 19 18:29:22 CEST 2005
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
More information about the vdr
mailing list