diff options
author | schmirl <schmirl> | 2008-03-28 15:11:40 +0000 |
---|---|---|
committer | schmirl <schmirl> | 2008-03-28 15:11:40 +0000 |
commit | b66bf7a698738389a030d1512d5442c149ab27db (patch) | |
tree | 07c58ba6891b29ffd53b22b7d964e1cc32bb3bcd /remux/extern.c | |
parent | 79836e69a99afd7a9a7b60ce41c5907fbed288d4 (diff) | |
download | vdr-plugin-streamdev-b66bf7a698738389a030d1512d5442c149ab27db.tar.gz vdr-plugin-streamdev-b66bf7a698738389a030d1512d5442c149ab27db.tar.bz2 |
Rewrite of http menu (#439)
Including
- m3u playlists by Petri Hintukainen (#254)
- way to pass parameters to externremux by Rolf Ahrenberg
- using host header for absolute URLs for better DNAT / Reverse Proxy support
Diffstat (limited to 'remux/extern.c')
-rw-r--r-- | remux/extern.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/remux/extern.c b/remux/extern.c index 01d4b33..e137c4a 100644 --- a/remux/extern.c +++ b/remux/extern.c @@ -19,13 +19,13 @@ protected: virtual void Action(void); public: - cTSExt(cRingBufferLinear *ResultBuffer); + cTSExt(cRingBufferLinear *ResultBuffer, std::string Parameter); virtual ~cTSExt(); void Put(const uchar *Data, int Count); }; -cTSExt::cTSExt(cRingBufferLinear *ResultBuffer): +cTSExt::cTSExt(cRingBufferLinear *ResultBuffer, std::string Parameter): m_ResultBuffer(ResultBuffer), m_Active(false), m_Process(0), @@ -67,9 +67,8 @@ cTSExt::cTSExt(cRingBufferLinear *ResultBuffer): for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++) close(i); //close all dup'ed filedescriptors - //printf("starting externremux.sh\n"); - execl("/bin/sh", "sh", "-c", g_ExternRemux, NULL); - //printf("failed externremux.sh\n"); + std::string cmd = std::string(g_ExternRemux) + " " + Parameter; + execl("/bin/sh", "sh", "-c", cmd.c_str(), NULL); _exit(-1); } @@ -150,9 +149,9 @@ void cTSExt::Put(const uchar *Data, int Count) } } -cExternRemux::cExternRemux(int VPid, const int *APids, const int *Dpids, const int *SPids): +cExternRemux::cExternRemux(int VPid, const int *APids, const int *Dpids, const int *SPids, std::string Parameter): m_ResultBuffer(new cRingBufferLinear(WRITERBUFSIZE, TS_SIZE * 2)), - m_Remux(new cTSExt(m_ResultBuffer)) + m_Remux(new cTSExt(m_ResultBuffer, Parameter)) { m_ResultBuffer->SetTimeouts(500, 100); } |