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 | |
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')
-rw-r--r-- | remux/extern.c | 13 | ||||
-rw-r--r-- | remux/extern.h | 3 |
2 files changed, 8 insertions, 8 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); } diff --git a/remux/extern.h b/remux/extern.h index ae055ac..7a44852 100644 --- a/remux/extern.h +++ b/remux/extern.h @@ -3,6 +3,7 @@ #include "remux/tsremux.h" #include <vdr/ringbuffer.h> +#include <string> extern const char *g_ExternRemux; @@ -14,7 +15,7 @@ private: cTSExt *m_Remux; public: - cExternRemux(int VPid, const int *APids, const int *Dpids, const int *SPids); + cExternRemux(int VPid, const int *APids, const int *Dpids, const int *SPids, std::string Parameter); virtual ~cExternRemux(); int Put(const uchar *Data, int Count); |