Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: multiple card selection via cam entry?



On Wed, 27 Feb 2002 18:00:22 +0100, Dirk Wiebel <dirk@wiebel.de> wrote:

> I've now connected DVB-s 1 and 3 to Astra, my Nova (No. 2 concerning to
> the DVB driver startup messages) is connected to Hotbird. So the bitmask
> should be "11b" (=3), as far as I understood. But as soon as I put this
> entry into one of the channels of channels.conf, the EPG No. is set to
> 11 (must be something caused by the "b"... is the "b" entry correct or
> was it just a comment for "binary"?).

If cards 1 and 3 are for Astra you have to set the Ca field to 5 and for
Hotbird to 2. The "b" was just a comment.

> 
> > +  int indexmask;
> > +
> > +  indexmask = Ca ? Ca : ~0;
> > +        if ((Result = CaDvbApi->SetChannel(ChannelNumber, Frequency,
> Polarization, Diseqc, Srate, Vpid, Apid1, Apid2, Dpid1, Dpid2, Tpid, Ca
> ?
> CaDvbApi->CardIndex() + 1 : Ca, Pnr)) == scrOk) ...
> 
> These are probably the lines which are important for me. Could any
> C-speaking outside there help me to translate the format of "indexmask"?
> I think it would be best if I could insert it manually here:
> 
> >+      if (!dvbApi[i] || !((1 << dvbApi[i]->CardIndex()) & indexmask))
> >+          continue;           // not one of the selected cards


indexmask contains the value you have provided in the ca field. If the
ca field is zero (all cards) the value is set to all one's.
The code then checks whether the bit for the currently tested card is
set.

This code is just a quick hack I have done to select specific cards as
you want to do. You have to edit the channels.conf file to set the
parameter. It is not possible to set it with the channels menu in VDR. I
hope Klaus will add a similar feature in the future because it allows a
very flexible use of the cards.

Emil



Home | Main Index | Thread Index