From 38ffaa978886f85db84fa893d1fcd3f6fba11e58 Mon Sep 17 00:00:00 2001 From: Lars Hanisch Date: Tue, 7 Jan 2014 20:19:31 +0100 Subject: override GetCurrentlyTunedTransponder, IsTunedToTransponder and MaySwitchTransponder from cDevice --- device.c | 17 ++++++++++++++++- device.h | 3 +++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/device.c b/device.c index b90266c..6b86c88 100644 --- a/device.c +++ b/device.c @@ -749,7 +749,7 @@ bool cPvrDevice::SetChannelDevice(const cChannel * Channel, bool LiveView) if (!ParseChannel(Channel, &input, &norm, &LinesPerFrame, &card, &inputType, &apid, &vpid, &tpid)) return false; - if ((Channel->Number() == CurrentChannel.Number()) && (Channel->Frequency() == CurrentFrequency) && (input == CurrentInput) && (norm == CurrentNorm)) + if ((Channel->GetChannelID() == CurrentChannel.GetChannelID()) && (Channel->Frequency() == CurrentFrequency) && (input == CurrentInput) && (norm == CurrentNorm)) return true; log(pvrDEBUG1, "cPvrDevice::SetChannelDevice prepare switch to %d (%s) %3.2fMHz (/dev/video%d = %s)", Channel->Number(), Channel->Name(), (double)Channel->Frequency() / 1000, number, CARDNAME[cardname]); @@ -1021,6 +1021,21 @@ int cPvrDevice::SignalQuality(void) const return -1; } +const cChannel *cPvrDevice::GetCurrentlyTunedTransponder(void) const +{ + return &CurrentChannel; +} + +bool cPvrDevice::IsTunedToTransponder(const cChannel *Channel) const +{ + return CurrentChannel.GetChannelID() == Channel->GetChannelID(); +} + +bool cPvrDevice::MaySwitchTransponder(const cChannel *Channel) const +{ + return CurrentChannel.GetChannelID() == Channel->GetChannelID(); +} + bool cPvrDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *NeedsDetachReceivers) const { bool result = false; diff --git a/device.h b/device.h index f2f720a..3714ff2 100644 --- a/device.h +++ b/device.h @@ -135,6 +135,9 @@ public: virtual int NumProvidedSystems(void) const; virtual int SignalStrength(void) const; virtual int SignalQuality(void) const; + virtual const cChannel *GetCurrentlyTunedTransponder(void) const; + virtual bool IsTunedToTransponder(const cChannel *Channel) const; + virtual bool MaySwitchTransponder(const cChannel *Channel) const; bool ParseChannel(const cChannel *Channel, int *input, uint64_t *norm, int *LinesPerFrame, int *card, eInputType *inputType, int *apid, int *vpid, int *tpid) const; int ReOpen(void); -- cgit v1.2.3