summaryrefslogtreecommitdiff
path: root/client/streamdev-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/streamdev-client.c')
-rw-r--r--client/streamdev-client.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/client/streamdev-client.c b/client/streamdev-client.c
index 088837f..4036eca 100644
--- a/client/streamdev-client.c
+++ b/client/streamdev-client.c
@@ -16,7 +16,7 @@
const char *cPluginStreamdevClient::DESCRIPTION = trNOOP("VTP Streaming Client");
-cPluginStreamdevClient::cPluginStreamdevClient(void) {
+cPluginStreamdevClient::cPluginStreamdevClient(void): m_Devices() {
}
cPluginStreamdevClient::~cPluginStreamdevClient() {
@@ -26,9 +26,13 @@ const char *cPluginStreamdevClient::Description(void) {
return tr(DESCRIPTION);
}
-bool cPluginStreamdevClient::Start(void) {
- I18nRegister(PLUGIN_NAME_I18N);
- cStreamdevDevice::Init();
+bool cPluginStreamdevClient::Initialize(void) {
+ for (int i = 0; i < STREAMDEV_MAXDEVICES; i++) {
+ if (m_Devices[i])
+ m_Devices[i]->ReInit(i >= StreamdevClientSetup.StartClient);
+ else if (i < StreamdevClientSetup.StartClient)
+ m_Devices[i] = new cStreamdevDevice();
+ }
return true;
}
@@ -37,7 +41,7 @@ const char *cPluginStreamdevClient::MainMenuEntry(void) {
}
cOsdObject *cPluginStreamdevClient::MainMenuAction(void) {
- if (ClientSocket.SuspendServer())
+ if (StreamdevClientSetup.StartClient && m_Devices[0]->SuspendServer())
Skins.Message(mtInfo, tr("Server is suspended"));
else
Skins.Message(mtError, tr("Couldn't suspend Server!"));
@@ -45,7 +49,7 @@ cOsdObject *cPluginStreamdevClient::MainMenuAction(void) {
}
cMenuSetupPage *cPluginStreamdevClient::SetupMenu(void) {
- return new cStreamdevClientMenuSetupPage;
+ return new cStreamdevClientMenuSetupPage(this);
}
bool cPluginStreamdevClient::SetupParse(const char *Name, const char *Value) {
@@ -61,7 +65,8 @@ bool cPluginStreamdevClient::Service(const char *Id, void *Data) {
}
void cPluginStreamdevClient::MainThreadHook(void) {
- cStreamdevDevice::UpdatePriority();
+ for (int i = 0; i < StreamdevClientSetup.StartClient; i++)
+ m_Devices[i]->UpdatePriority();
}
VDRPLUGINCREATOR(cPluginStreamdevClient); // Don't touch this!