Mailing List archive

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

[vdr] Re: Bug in recording CA handling



Stefan Huelswitt wrote:
> 
> Hi,
> I think there is a mismatch in the way the CA values from
> channels.conf are used in device.c/dvbdevice.c.
> 
> In many places ca>CACONFBASE is used to detect an encrypted
> channel (like in cDvbDevice::ProvidesChannel() and
> cDvbDevice::SetChannelDevice()). On the other side in
> cDevice::Ca() a != 0 is used.
> 
> This leads to a strange behaviour.
> Let's say a channel have a ca value of 1 (can only be received on
> card 1). As 1<CACONFBASE ProvidesChannel() & SetChannelDevice()
> doesn't see this as an encrypted channel, allowing a
> transfermode. But when the transfer control tries to attach the
> player, cDevice::AttachPlayer() calls cDvbDevice::CanReplay()
> which in turn calls cDevice::Ca(). As Ca() checks for != 0 the
> check fails and the attach of the player too.
> 
> ...

Can you please try this with

  return cDevice::CanReplay() && Ca() <= MAXDEVICES; // we can only replay if there is no Ca recording going on

instead of

  return cDevice::CanReplay() && !Ca(); // we can only replay if there is no Ca recording going on

in VDR/dvbdevice.c, cDvbDevice::CanReplay()?

You might also want to change

  if (!Ca() && aPid2 && aPid1 != aPid2) // a Ca recording session blocks switching live audio tracks

to

  if (Ca() <= MAXDEVICES && aPid2 && aPid1 != aPid2) // a Ca recording session blocks switching live audio tracks

in cDvbDevice::NumAudioTracksDevice().

Klaus
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index