Fixed stream statistics sometimes holding invalid values

This commit is contained in:
Thulinma 2017-01-11 18:29:46 +01:00
parent 478e9d7f47
commit 0c0bb5b3bf

View file

@ -345,11 +345,19 @@ void Controller::statSession::update(unsigned long index, IPC::statExchange & da
streamStats[streamName].viewers++; streamStats[streamName].viewers++;
sessionType = SESS_VIEWER; sessionType = SESS_VIEWER;
} }
streamStats[streamName].upBytes += currUp; if (!streamName.size() || streamName[0] == 0){
streamStats[streamName].downBytes += currDown; if (streamStats.count(streamName)){streamStats.erase(streamName);}
}else{
streamStats[streamName].upBytes += currUp;
streamStats[streamName].downBytes += currDown;
}
}else{ }else{
streamStats[streamName].upBytes += currUp - prevUp; if (!streamName.size() || streamName[0] == 0){
streamStats[streamName].downBytes += currDown - prevDown; if (streamStats.count(streamName)){streamStats.erase(streamName);}
}else{
streamStats[streamName].upBytes += currUp - prevUp;
streamStats[streamName].downBytes += currDown - prevDown;
}
if (sessionType == SESS_UNSET){ if (sessionType == SESS_UNSET){
if (data.connector() == "INPUT"){ if (data.connector() == "INPUT"){
sessionType = SESS_INPUT; sessionType = SESS_INPUT;