From a0d053d40295be6c30cbe023a460865ffd3b2f83 Mon Sep 17 00:00:00 2001 From: Francois Cartegnie Date: Thu, 26 Nov 2020 21:07:39 +0100 Subject: [PATCH] demux: adaptive: fix negative livestart number --- modules/demux/adaptive/logic/BufferingLogic.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/demux/adaptive/logic/BufferingLogic.cpp b/modules/demux/adaptive/logic/BufferingLogic.cpp index 8787ce51226a..f11fac2377d7 100644 --- a/modules/demux/adaptive/logic/BufferingLogic.cpp +++ b/modules/demux/adaptive/logic/BufferingLogic.cpp @@ -302,11 +302,14 @@ uint64_t DefaultBufferingLogic::getLiveStartSegmentNumber(BaseRepresentation *re uint64_t safeedgenumber = back->getSequenceNumber() - std::min((uint64_t)list.size() - 1, (uint64_t)SAFETY_BUFFERING_EDGE_OFFSET); - uint64_t safestartnumber = availableliststartnumber; - if(safeedgenumber > safestartnumber) - safestartnumber -= std::min(safeedgenumber-safestartnumber - 1, - (uint64_t)SAFETY_EXPURGING_OFFSET); + + for(unsigned i=0; i= safeedgenumber) + break; + safestartnumber++; + } stime_t maxbufferizable = 0; stime_t safeedgeduration = 0;