Explorar el Código

Fixed buffered amount computation

Paul-Louis Ageneau hace 5 años
padre
commit
15e986ebfe
Se han modificado 1 ficheros con 4 adiciones y 2 borrados
  1. 4 2
      src/sctptransport.cpp

+ 4 - 2
src/sctptransport.cpp

@@ -381,10 +381,12 @@ bool SctpTransport::trySendMessage(message_ptr message) {
 void SctpTransport::updateBufferedAmount(uint16_t streamId, long delta) {
 	// Requires mSendMutex to be locked
 	auto it = mBufferedAmount.insert(std::make_pair(streamId, 0)).first;
-	size_t amount = it->second;
-	amount = size_t(std::max(long(amount) + delta, long(0)));
+	size_t amount = size_t(std::max(long(it->second) + delta, long(0)));
 	if (amount == 0)
 		mBufferedAmount.erase(it);
+	else
+		it->second = amount;
+
 	mBufferedAmountCallback(streamId, amount);
 }