mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Support switching the primary device with svdrp.
This commit is contained in:
parent
7d3f4f4434
commit
d65fe88c83
@ -1,6 +1,7 @@
|
|||||||
User johns
|
User johns
|
||||||
Date:
|
Date:
|
||||||
|
|
||||||
|
Support switching the primary device with svdrp.
|
||||||
Disable and reenable screen saver and DPMS.
|
Disable and reenable screen saver and DPMS.
|
||||||
Video source code cleanup.
|
Video source code cleanup.
|
||||||
Fix fast backward with some h264 streams.
|
Fix fast backward with some h264 streams.
|
||||||
|
@ -101,7 +101,7 @@ static int ConfigAutoCropTolerance; ///< auto crop detection tolerance
|
|||||||
static char ConfigSuspendClose; ///< suspend should close devices
|
static char ConfigSuspendClose; ///< suspend should close devices
|
||||||
static char ConfigSuspendX11; ///< suspend should stop x11
|
static char ConfigSuspendX11; ///< suspend should stop x11
|
||||||
|
|
||||||
static volatile char DoMakePrimary; ///< flag switch primary
|
static volatile int DoMakePrimary; ///< switch primary device to this
|
||||||
|
|
||||||
#define SUSPEND_EXTERNAL -1 ///< play external suspend mode
|
#define SUSPEND_EXTERNAL -1 ///< play external suspend mode
|
||||||
#define SUSPEND_NORMAL 0 ///< normal suspend mode
|
#define SUSPEND_NORMAL 0 ///< normal suspend mode
|
||||||
@ -1421,7 +1421,7 @@ bool cPluginSoftHdDevice::Start(void)
|
|||||||
// Must be done in the main thread
|
// Must be done in the main thread
|
||||||
dsyslog("[softhddev] makeing softhddevice %d the primary device!",
|
dsyslog("[softhddev] makeing softhddevice %d the primary device!",
|
||||||
MyDevice->DeviceNumber());
|
MyDevice->DeviceNumber());
|
||||||
DoMakePrimary = 1;
|
DoMakePrimary = MyDevice->DeviceNumber() + 1;
|
||||||
} else {
|
} else {
|
||||||
isyslog("[softhddev] softhddevice %d is not the primary device!",
|
isyslog("[softhddev] softhddevice %d is not the primary device!",
|
||||||
MyDevice->DeviceNumber());
|
MyDevice->DeviceNumber());
|
||||||
@ -1501,9 +1501,10 @@ void cPluginSoftHdDevice::MainThreadHook(void)
|
|||||||
{
|
{
|
||||||
//dsyslog("[softhddev]%s:\n", __FUNCTION__);
|
//dsyslog("[softhddev]%s:\n", __FUNCTION__);
|
||||||
|
|
||||||
if (DoMakePrimary && MyDevice) {
|
if (DoMakePrimary) {
|
||||||
dsyslog("[softhddev]%s: switching primary device\n", __FUNCTION__);
|
dsyslog("[softhddev]%s: switching primary device to %d\n",
|
||||||
cDevice::SetPrimaryDevice(MyDevice->DeviceNumber() + 1);
|
__FUNCTION__, DoMakePrimary);
|
||||||
|
cDevice::SetPrimaryDevice(DoMakePrimary);
|
||||||
DoMakePrimary = 0;
|
DoMakePrimary = 0;
|
||||||
}
|
}
|
||||||
// check if user is inactive, automatic enter suspend mode
|
// check if user is inactive, automatic enter suspend mode
|
||||||
@ -1679,7 +1680,8 @@ const char **cPluginSoftHdDevice::SVDRPHelpPages(void)
|
|||||||
"RESU\n" " Resume plugin.\n",
|
"RESU\n" " Resume plugin.\n",
|
||||||
"DETA\n" " Detach plugin.\n",
|
"DETA\n" " Detach plugin.\n",
|
||||||
"ATTA\n" " Attach plugin.\n",
|
"ATTA\n" " Attach plugin.\n",
|
||||||
"HOTK key\n" " Execute hotkey.\n",
|
"PRIM\n" " Make primary device.\n" "HOTK key\n"
|
||||||
|
" Execute hotkey.\n",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1756,6 +1758,17 @@ cString cPluginSoftHdDevice::SVDRPCommand(const char *command,
|
|||||||
HandleHotkey(hotk);
|
HandleHotkey(hotk);
|
||||||
return "hot-key executed";
|
return "hot-key executed";
|
||||||
}
|
}
|
||||||
|
if (!strcasecmp(command, "PRIM")) {
|
||||||
|
int primary;
|
||||||
|
|
||||||
|
primary = strtol(option, NULL, 0);
|
||||||
|
if (!primary && MyDevice) {
|
||||||
|
primary = MyDevice->DeviceNumber() + 1;
|
||||||
|
}
|
||||||
|
dsyslog("[softhddev] switching primary device to %d\n", primary);
|
||||||
|
DoMakePrimary = primary;
|
||||||
|
return "switching primary device requested";
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user