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