From 1c09397336d0f7c19e41d41b8da371ca40e69541 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Thu, 29 Jan 2015 16:05:56 +0100 Subject: [PATCH] Made HLS send PCRs more often than every keyframe. --- src/output/output_hls.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/output/output_hls.cpp b/src/output/output_hls.cpp index b8e07825..667ad095 100644 --- a/src/output/output_hls.cpp +++ b/src/output/output_hls.cpp @@ -155,6 +155,7 @@ namespace Mist { void OutHLS::fillPacket(bool & first, const char * data, size_t dataLen, char & ContCounter){ static std::map contCounter; + static unsigned int lastPCR = 0; if (!PackData.BytesFree()){ if (PacketNumber % 42 == 0){ TS::Packet tmpPack; @@ -178,9 +179,10 @@ namespace Mist { PackData.ContinuityCounter(ContCounter++); if (first){ PackData.UnitStart(1); - if (currentPacket.getInt("keyframe")){ + if (currentPacket.getInt("keyframe") || currentPacket.getTime() / 70 != lastPCR / 70){ PackData.RandomAccess(1); PackData.PCR(currentPacket.getTime() * 27000); + lastPCR = currentPacket.getTime(); } first = false; }