From c6c2344fef5847cc8596c417491050b8b8bbbde1 Mon Sep 17 00:00:00 2001 From: schmirl Date: Mon, 7 Apr 2008 15:07:38 +0000 Subject: Applied and removed respect_ca patch --- client/device.c | 10 ++++++++-- client/device.h | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'client') diff --git a/client/device.c b/client/device.c index 570bab2..28cb7dc 100644 --- a/client/device.c +++ b/client/device.c @@ -1,5 +1,5 @@ /* - * $Id: device.c,v 1.18 2008/04/07 14:50:32 schmirl Exp $ + * $Id: device.c,v 1.18.2.1 2008/04/07 15:07:39 schmirl Exp $ */ #include "client/device.h" @@ -54,6 +54,12 @@ cStreamdevDevice::~cStreamdevDevice() { DELETENULL(m_TSBuffer); } +int cStreamdevDevice::ProvidesCa(const cChannel *Channel) const +{ + // Encrypted is acceptable for now. Will ask the server later. + return Channel->Ca() <= CA_DVB_MAX ? cDevice::ProvidesCa(Channel) : 1; +} + bool cStreamdevDevice::ProvidesSource(int Source) const { Dprintf("ProvidesSource, Source=%d\n", Source); return true; @@ -88,7 +94,7 @@ bool cStreamdevDevice::ProvidesChannel(const cChannel *Channel, int Priority, if (ClientSocket.DataSocket(siLive) != NULL && TRANSPONDER(Channel, m_Channel)) res = true; - else { + else if (ProvidesCa(Channel)) { res = prio && ClientSocket.ProvidesChannel(Channel, Priority); ndr = true; } diff --git a/client/device.h b/client/device.h index 0c7e918..ada66de 100644 --- a/client/device.h +++ b/client/device.h @@ -1,5 +1,5 @@ /* - * $Id: device.h,v 1.7 2008/04/07 14:40:39 schmirl Exp $ + * $Id: device.h,v 1.7.2.1 2008/04/07 15:07:39 schmirl Exp $ */ #ifndef VDR_STREAMDEV_DEVICE_H @@ -49,6 +49,7 @@ public: cStreamdevDevice(void); virtual ~cStreamdevDevice(); + virtual int ProvidesCa(const cChannel *Channel) const; virtual bool ProvidesSource(int Source) const; virtual bool ProvidesTransponder(const cChannel *Channel) const; virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, -- cgit v1.2.3