diff options
author | schmirl <schmirl> | 2010-07-19 13:50:11 +0000 |
---|---|---|
committer | schmirl <schmirl> | 2010-07-19 13:50:11 +0000 |
commit | fa578940f7770876d884093a57f657b03213cea3 (patch) | |
tree | 6b7d56a314e4ed9b90102a8d53f08e769dc7a1e9 /server/setup.c | |
parent | a43455f660040140fcfd9401ceb81f1e13f8bd7d (diff) | |
download | vdr-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.c | 29 |
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; +} |