Fixed problems with MistBuffer keeping too much data.
This commit is contained in:
parent
d81bc24155
commit
a3bce93b7d
1 changed files with 2 additions and 1 deletions
|
@ -271,7 +271,8 @@ void DTSC::Stream::addPacket(JSON::Value & newPack){
|
||||||
//throw away buffers if buffer time is met
|
//throw away buffers if buffer time is met
|
||||||
int trid = buffers.begin()->first.trackID;
|
int trid = buffers.begin()->first.trackID;
|
||||||
int firstTime = buffers.begin()->first.seekTime;
|
int firstTime = buffers.begin()->first.seekTime;
|
||||||
while (metadata.tracks[trid].keys.size() > 2 && metadata.tracks[trid].keys.rbegin()->getTime() - firstTime > buffertime){
|
int lastTime = buffers.rbegin()->first.seekTime - buffertime;
|
||||||
|
while ((!metadata.tracks[trid].keys.size() && firstTime < lastTime) || (metadata.tracks[trid].keys.size() && metadata.tracks[trid].keys.rbegin()->getTime() < lastTime) || (metadata.tracks[trid].keys.size() > 2 && metadata.tracks[trid].keys.rbegin()->getTime() - firstTime > buffertime)){
|
||||||
cutOneBuffer();
|
cutOneBuffer();
|
||||||
trid = buffers.begin()->first.trackID;
|
trid = buffers.begin()->first.trackID;
|
||||||
firstTime = buffers.begin()->first.seekTime;
|
firstTime = buffers.begin()->first.seekTime;
|
||||||
|
|
Loading…
Add table
Reference in a new issue