mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Removed the obsolete function cEITScanner::UsesDevice(); added new parameter LiveView to cStatus::ChannelSwitch()
This commit is contained in:
parent
680b1b8f87
commit
57f58a1546
5
HISTORY
5
HISTORY
@ -6984,3 +6984,8 @@ Video Disk Recorder Revision History
|
||||
- Removed the calls to EITScanner.UsesDevice(this) from dvb[hs]ddevice.c, because
|
||||
the code following these calls is only executed if LiveView is true, which is
|
||||
never the case when the EITScanner switches to a channel.
|
||||
- Removed the obsolete function cEITScanner::UsesDevice(). If a plugin has used this
|
||||
function to find out whether a call to its cStatus::ChannelSwitch() function was
|
||||
due to a live channel switch, it can use that function's new parameter LiveView.
|
||||
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
|
||||
'bool LiveView' to that function.
|
||||
|
@ -1221,10 +1221,10 @@ If a plugin wants to get informed on various events in VDR, it can derive a clas
|
||||
|
||||
class cMyStatusMonitor : public cStatus {
|
||||
protected:
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber<div class="modified">, bool LiveView</div>);
|
||||
};
|
||||
|
||||
void cMyStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber)
|
||||
void cMyStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber<div class="modified">, bool LiveView</div>)
|
||||
{
|
||||
if (ChannelNumber)
|
||||
dsyslog("channel switched to %d on DVB %d", ChannelNumber, Device->CardIndex());
|
||||
|
@ -4,3 +4,7 @@ VDR Plugin 'rcu' Revision History
|
||||
2012-02-27: Version 0.0.1
|
||||
|
||||
- Initial revision.
|
||||
|
||||
2012-03-07: Version 0.0.2
|
||||
|
||||
- Added new parameter LiveView to ChannelSwitch().
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* See the README file for copyright information and how to reach the author.
|
||||
*
|
||||
* $Id: rcu.c 1.1 2012/02/27 11:49:51 kls Exp $
|
||||
* $Id: rcu.c 1.2 2012/03/07 14:22:44 kls Exp $
|
||||
*/
|
||||
|
||||
#include <getopt.h>
|
||||
@ -16,7 +16,7 @@
|
||||
#include <vdr/thread.h>
|
||||
#include <vdr/tools.h>
|
||||
|
||||
static const char *VERSION = "0.0.1";
|
||||
static const char *VERSION = "0.0.2";
|
||||
static const char *DESCRIPTION = "Remote Control Unit";
|
||||
|
||||
#define REPEATLIMIT 150 // ms
|
||||
@ -44,7 +44,7 @@ private:
|
||||
void SetString(const char *s);
|
||||
bool DetectCode(unsigned char *Code);
|
||||
virtual void Action(void);
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
|
||||
virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On);
|
||||
public:
|
||||
cRcuRemote(const char *DeviceName);
|
||||
@ -353,9 +353,9 @@ bool cRcuRemote::DetectCode(unsigned char *Code)
|
||||
return false;
|
||||
}
|
||||
|
||||
void cRcuRemote::ChannelSwitch(const cDevice *Device, int ChannelNumber)
|
||||
void cRcuRemote::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
|
||||
{
|
||||
if (ChannelNumber && Device->IsPrimaryDevice())
|
||||
if (ChannelNumber && LiveView)
|
||||
SetNumber(cDevice::CurrentChannel());
|
||||
}
|
||||
|
||||
|
6
device.c
6
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.c 2.56 2012/03/06 12:32:38 kls Exp $
|
||||
* $Id: device.c 2.57 2012/03/07 14:17:49 kls Exp $
|
||||
*/
|
||||
|
||||
#include "device.h"
|
||||
@ -723,7 +723,7 @@ bool cDevice::SwitchChannel(int Direction)
|
||||
|
||||
eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
||||
{
|
||||
cStatus::MsgChannelSwitch(this, 0);
|
||||
cStatus::MsgChannelSwitch(this, 0, LiveView);
|
||||
|
||||
if (LiveView) {
|
||||
StopReplay();
|
||||
@ -793,7 +793,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
||||
EnsureAudioTrack(true);
|
||||
EnsureSubtitleTrack();
|
||||
}
|
||||
cStatus::MsgChannelSwitch(this, Channel->Number()); // only report status if channel switch successfull
|
||||
cStatus::MsgChannelSwitch(this, Channel->Number(), LiveView); // only report status if channel switch successfull
|
||||
}
|
||||
|
||||
return Result;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: eitscan.c 2.5 2011/10/16 14:10:00 kls Exp $
|
||||
* $Id: eitscan.c 2.6 2012/03/07 14:16:57 kls Exp $
|
||||
*/
|
||||
|
||||
#include "eitscan.h"
|
||||
@ -92,7 +92,6 @@ cEITScanner EITScanner;
|
||||
cEITScanner::cEITScanner(void)
|
||||
{
|
||||
lastScan = lastActivity = time(NULL);
|
||||
currentDevice = NULL;
|
||||
currentChannel = 0;
|
||||
scanList = NULL;
|
||||
transponderList = NULL;
|
||||
@ -159,10 +158,8 @@ void cEITScanner::Process(void)
|
||||
Skins.Message(mtInfo, tr("Starting EPG scan"));
|
||||
}
|
||||
}
|
||||
currentDevice = Device;//XXX see also dvbdevice.c!!!
|
||||
//dsyslog("EIT scan: device %d source %-8s tp %5d", Device->DeviceNumber() + 1, *cSource::ToString(Channel->Source()), Channel->Transponder());
|
||||
Device->SwitchChannel(Channel, false);
|
||||
currentDevice = NULL;
|
||||
scanList->Del(ScanData);
|
||||
AnyDeviceSwitched = true;
|
||||
break;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: eitscan.h 1.9 2005/09/04 10:51:35 kls Exp $
|
||||
* $Id: eitscan.h 2.1 2012/03/07 14:16:57 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __EITSCAN_H
|
||||
@ -24,7 +24,6 @@ private:
|
||||
ScanTimeout = 20
|
||||
};
|
||||
time_t lastScan, lastActivity;
|
||||
cDevice *currentDevice;
|
||||
int currentChannel;
|
||||
cScanList *scanList;
|
||||
cTransponderList *transponderList;
|
||||
@ -32,7 +31,6 @@ public:
|
||||
cEITScanner(void);
|
||||
~cEITScanner();
|
||||
bool Active(void) { return currentChannel || lastActivity == 0; }
|
||||
bool UsesDevice(const cDevice *Device) { return currentDevice == Device; }
|
||||
void AddTransponder(cChannel *Channel);
|
||||
void ForceScan(void);
|
||||
void Activity(void);
|
||||
|
6
status.c
6
status.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: status.c 1.10 2008/02/16 14:46:31 kls Exp $
|
||||
* $Id: status.c 2.1 2012/03/07 14:17:24 kls Exp $
|
||||
*/
|
||||
|
||||
#include "status.h"
|
||||
@ -29,10 +29,10 @@ void cStatus::MsgTimerChange(const cTimer *Timer, eTimerChange Change)
|
||||
sm->TimerChange(Timer, Change);
|
||||
}
|
||||
|
||||
void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber)
|
||||
void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
|
||||
{
|
||||
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
|
||||
sm->ChannelSwitch(Device, ChannelNumber);
|
||||
sm->ChannelSwitch(Device, ChannelNumber, LiveView);
|
||||
}
|
||||
|
||||
void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
|
||||
|
7
status.h
7
status.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: status.h 1.12 2008/02/16 15:00:33 kls Exp $
|
||||
* $Id: status.h 2.1 2012/03/07 14:16:57 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __STATUS_H
|
||||
@ -30,10 +30,11 @@ protected:
|
||||
// been added or will be deleted, respectively. In case of tcMod,
|
||||
// Timer is NULL; this indicates that some timer has been changed.
|
||||
// Note that tcAdd and tcDel are always also followed by a tcMod.
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber) {}
|
||||
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView) {}
|
||||
// Indicates a channel switch on the given DVB device.
|
||||
// If ChannelNumber is 0, this is before the channel is being switched,
|
||||
// otherwise ChannelNumber is the number of the channel that has been switched to.
|
||||
// LiveView tells whether this channel switch is for live viewing.
|
||||
virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On) {}
|
||||
// The given DVB device has started (On = true) or stopped (On = false) recording Name.
|
||||
// Name is the name of the recording, without any directory path. The full file name
|
||||
@ -85,7 +86,7 @@ public:
|
||||
virtual ~cStatus();
|
||||
// These functions are called whenever the related status information changes:
|
||||
static void MsgTimerChange(const cTimer *Timer, eTimerChange Change);
|
||||
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber);
|
||||
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
|
||||
static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On);
|
||||
static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On);
|
||||
static void MsgSetVolume(int Volume, bool Absolute);
|
||||
|
Loading…
Reference in New Issue
Block a user