Configurable buffer for live TV

This commit is contained in:
Frank Schmirler
2014-05-18 15:24:24 +02:00
parent 54440cb080
commit 2cdf160648
15 changed files with 99 additions and 35 deletions

View File

@@ -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