summaryrefslogtreecommitdiff
path: root/server/setup.c
diff options
context:
space:
mode:
authorschmirl <schmirl>2010-07-19 13:50:11 +0000
committerschmirl <schmirl>2010-07-19 13:50:11 +0000
commitfa578940f7770876d884093a57f657b03213cea3 (patch)
tree6b7d56a314e4ed9b90102a8d53f08e769dc7a1e9 /server/setup.c
parenta43455f660040140fcfd9401ceb81f1e13f8bd7d (diff)
downloadvdr-plugin-streamdev-fa578940f7770876d884093a57f657b03213cea3.tar.gz
vdr-plugin-streamdev-fa578940f7770876d884093a57f657b03213cea3.tar.bz2
- using SIGINT in externremux to kill mencoder works better than SIGTERM;
especially x264 still needs a SIGKILL sometimes - added --remove-destination to cp commands installing plugins - updated Italian translation (thanks to Diego Pierotto) - config option "client may suspend" hidden if not applicable - updated and enhanced README - added support for HTTP method HEAD - rewrite of externremux.sh, including support for various URL parameters, logging and improved shutdown - start externremux script in a separate process group - changed HTTP URL path for externremux from EXTERN to EXT (suggested by Rolf Ahrenberg) - HTTP headers now have to be emitted by externremux script - pass channel related information and URL parameters to externremux script through environment - implement CGI like interface for externremux script Modified Files: Tag: v0_4 CONTRIBUTORS HISTORY Makefile README common.c common.h i18n.c remux/extern.c remux/extern.h server/connection.c server/connection.h server/connectionHTTP.c server/connectionHTTP.h server/connectionIGMP.c server/connectionVTP.c server/livestreamer.c server/livestreamer.h server/menuHTTP.c server/setup.c server/setup.h server/streamer.c server/streamer.h streamdev/externremux.sh streamdev/streamdevhosts.conf
Diffstat (limited to 'server/setup.c')
-rw-r--r--server/setup.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/server/setup.c b/server/setup.c
index 3c3db1c..a35d38d 100644
--- a/server/setup.c
+++ b/server/setup.c
@@ -1,5 +1,5 @@
/*
- * $Id: setup.c,v 1.3.2.3 2009/10/13 06:38:58 schmirl Exp $
+ * $Id: setup.c,v 1.3.2.4 2010/07/19 13:50:14 schmirl Exp $
*/
#include <vdr/menuitems.h>
@@ -51,7 +51,7 @@ const char* cStreamdevServerMenuSetupPage::StreamTypes[st_Count - 1] = {
"PES",
"PS",
"ES",
- "Extern"
+ "EXT"
};
const char* cStreamdevServerMenuSetupPage::SuspendModes[sm_Count] = {
@@ -63,15 +63,25 @@ const char* cStreamdevServerMenuSetupPage::SuspendModes[sm_Count] = {
cStreamdevServerMenuSetupPage::cStreamdevServerMenuSetupPage(void) {
m_NewSetup = StreamdevServerSetup;
+ Set();
+}
+
+cStreamdevServerMenuSetupPage::~cStreamdevServerMenuSetupPage() {
+}
+
+void cStreamdevServerMenuSetupPage::Set(void) {
static const char* modes[sm_Count];
for (int i = 0; i < sm_Count; i++)
modes[i] = tr(SuspendModes[i]);
+ int current = Current();
+ Clear();
AddCategory (tr("Common Settings"));
Add(new cMenuEditIntItem (tr("Maximum Number of Clients"), &m_NewSetup.MaxClients, 0, 100));
Add(new cMenuEditStraItem(tr("Suspend behaviour"), &m_NewSetup.SuspendMode, sm_Count, modes));
- Add(new cMenuEditBoolItem(tr("Client may suspend"), &m_NewSetup.AllowSuspend));
+ if (m_NewSetup.SuspendMode == smOffer)
+ Add(new cMenuEditBoolItem(tr("Client may suspend"), &m_NewSetup.AllowSuspend));
AddCategory (tr("VDR-to-VDR Server"));
Add(new cMenuEditBoolItem(tr("Start VDR-to-VDR Server"), &m_NewSetup.StartVTPServer));
@@ -88,10 +98,8 @@ cStreamdevServerMenuSetupPage::cStreamdevServerMenuSetupPage(void) {
Add(new cMenuEditIntItem (tr("Multicast Client Port"), &m_NewSetup.IGMPClientPort, 0, 65535));
Add(new cMenuEditStraItem(tr("Multicast Streamtype"), &m_NewSetup.IGMPStreamType, st_Count - 1, StreamTypes));
Add(new cMenuEditIpItem (tr("Bind to IP"), m_NewSetup.IGMPBindIP));
- SetCurrent(Get(1));
-}
-
-cStreamdevServerMenuSetupPage::~cStreamdevServerMenuSetupPage() {
+ SetCurrent(Get(current));
+ Display();
}
void cStreamdevServerMenuSetupPage::AddCategory(const char *Title) {
@@ -140,3 +148,10 @@ void cStreamdevServerMenuSetupPage::Store(void) {
cStreamdevServer::Initialize();
}
+eOSState cStreamdevServerMenuSetupPage::ProcessKey(eKeys Key) {
+ int oldMode = m_NewSetup.SuspendMode;
+ eOSState state = cMenuSetupPage::ProcessKey(Key);
+ if (oldMode != m_NewSetup.SuspendMode)
+ Set();
+ return state;
+}