From 81fec034d307bc5b54139dd8efcb4846bc6c9408 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 1 Nov 2013 14:21:06 +0100 Subject: [PATCH] Buffer code simplification. --- src/buffer/buffer_user.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/buffer/buffer_user.cpp b/src/buffer/buffer_user.cpp index 2b78be2d..866e829b 100644 --- a/src/buffer/buffer_user.cpp +++ b/src/buffer/buffer_user.cpp @@ -107,13 +107,14 @@ namespace Buffer { if (doSend(Stream::get()->getStream()->outPacket(myRing->b).c_str(), Stream::get()->getStream()->outPacket(myRing->b).length())){ //switch to next buffer currsend = 0; - if (Stream::get()->getStream()->isNewest(myRing->b, allowedTracks)){ + DTSC::livePos newPos = Stream::get()->getStream()->getNext(myRing->b, allowedTracks); + if (myRing->b == newPos){ //no next buffer? go in waiting mode. myRing->waiting = true; Stream::get()->dropReadLock(); return false; } - myRing->b = Stream::get()->getStream()->getNext(myRing->b, allowedTracks); + myRing->b = newPos; if ((Stream::get()->getStream()->getPacket(myRing->b).isMember("keyframe") && (myRing->playCount > 0)) || (playUntil && playUntil <= Stream::get()->getStream()->getPacket(myRing->b)["time"].asInt())){ myRing->playCount--; if (myRing->playCount < 1 || playUntil <= Stream::get()->getStream()->getPacket(myRing->b)["time"].asInt()){