[mythtv] Possible timing issue between dvbchannel and dvbcam
Kenneth Aafløy
lists at kenneth.aafloy.net
Wed Sep 29 21:12:20 EDT 2004
On Thursday 30 September 2004 02:15, Taylor Jacob wrote:
> > The last time you said that your comhem set-top-box also showed this
> > message, it will still be treated as a broken CAM by me, anyone else?
>
> From that posting I found what at the time I thought was a bug in the PMT
> handling, but now I KNOW its a bug. I said bytes, but i meant bits. For
> starters a DVB PID is bounded from 0-1FFF, so there is that patch that needs
> to be made, which I can make later tonight. I suspect this will not solve
> your problem though.
Sure, 13 bits, of which the rest of the word is reserved and should be '0',
but it would not hurt to mask it. I was under the impression that someone
made a patch back then, but I must have been mistaken. I think I did the
change in my tree, but that's rm *'d.
> Kenneth: You also can have multiple encryption systems used for 1 service.
> I have seen this myslef, and also how would you do a cam swap if you
> couldn't support 2 systems?
Well, channels can be encrypted with multiple encryptions and cams can support
multiple encryptions, but only one would be used at a time to decrypt the
stream. So what needs to be done is either have some clever matching code in
there or let the user direct the channel to a particular cam him/her self.
The latter is what VDR does, but I guess most cases could be easily
autodetected so that the least user invention is necessary.
> It is possible that the ordering of the CAIDs in the PMT is causing problems
> for his cam module?
I was under the impression that the cam actually starts decoding the stream
but starts 'displaying' this message and eventually resets? The current code
in myth will only send pmts that the cam claims to be able to decode, so if
the cam supports for example both conax and viaaccess and the channel also is
encrypted with both these systems there could be a problem. But he claims to
have a viaaccess cam, and they do not put their rivals encryption system into
their own product.
> There is a comment you made in the cam code about having to handle CAPIDs
> more like VDR does. Kenneth is there any way to query the CAM and ask what
> systems the CAM supports? If not I will have to handle this in my code
> changes.
The VDR cam handling provides a list of ca system ids, which is matched with
the ca system id of the ca_descriptors in the dvbcam class.
ciHandler->GetCaSystemIds();
> I don't know that the threading is to blame since it looks like it would
> only affect killing off the CAM, but either way Issac is right it needs to
> be re worked so I guess I will add that to my long list of code fixes to
> make?
It's making use of Qt's signals (even though trolltech claims that they are
not thread safe), which will call the functions from it's own thread. So I'm
missing what argument hes trying to prove.
> Kenneth: Isn't the cam code lifted from VDR that is in myth anyway?
That is very correct Taylor, but I have made some minor modifications to it.
Anders, you could try to change the lines in dvbcam.cpp that says:
if (ciHandler->NeedCaPmt())
first_send = true;
with
//if (ciHandler->NeedCaPmt())
first_send = true;
Which will make the code send the pmt array to the cam more often. You could
also try to experiment with the value CPLM_FIRST in this line:
cCiCaPmt capmt(chan_opts.serviceID, CPLM_FIRST);
you will find other CPLM_?? values in dvbdev/dvbci.h.
Just to add to the common knowledge here, I have one channel on Thor 1W that
also shows this behavior (displays a 'no access' message when entering) but
the cam happily decodes the channel anyways. The channel is 'VH1 Classic' and
can be found at 12456 Mhz, 28000, Vertical. It's encrypted with the Conax
system from Canal Digital Scandinavia.
Kenneth
More information about the mythtv-dev
mailing list