summaryrefslogtreecommitdiff
path: root/server/livestreamer.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/livestreamer.c')
-rw-r--r--server/livestreamer.c16
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