diff options
Diffstat (limited to 'server/livestreamer.c')
-rw-r--r-- | server/livestreamer.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/server/livestreamer.c b/server/livestreamer.c index 07f7273..c06710a 100644 --- a/server/livestreamer.c +++ b/server/livestreamer.c @@ -11,6 +11,7 @@ #include <vdr/ringbuffer.h> #include "server/livestreamer.h" +#include "server/setup.h" #include "common.h" using namespace Streamdev; @@ -534,6 +535,21 @@ void cStreamdevLiveStreamer::Receive(uchar *Data, int Length) m_ReceiveBuffer->ReportOverflow(Length - p); } +void cStreamdevLiveStreamer::Action(void) +{ + if (StreamdevServerSetup.LiveBufferMs) { + // wait for first data block + int count = 0; + while (Running()) { + if (m_ReceiveBuffer->Get(count) != NULL) { + cCondWait::SleepMs(StreamdevServerSetup.LiveBufferMs); + break; + } + } + } + cStreamdevStreamer::Action(); +} + int cStreamdevLiveStreamer::Put(const uchar *Data, int Count) { // insert si data |