Browse Source

Merge pull request #653 from paullouisageneau/fix-dc-close-loop

Fix possible close ping-pong with destroyed DataChannel
Paul-Louis Ageneau 3 years ago
parent
commit
10d23715f0
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/impl/peerconnection.cpp

+ 3 - 0
src/impl/peerconnection.cpp

@@ -455,6 +455,9 @@ void PeerConnection::forwardMessage(message_ptr message) {
 	}
 	}
 
 
 	if (!channel) {
 	if (!channel) {
+		if (message->type == Message::Control) // ignore control messages like Close
+			return;
+
 		// Invalid, close the DataChannel
 		// Invalid, close the DataChannel
 		PLOG_WARNING << "Got unexpected message on stream " << stream;
 		PLOG_WARNING << "Got unexpected message on stream " << stream;
 		if (auto sctpTransport = getSctpTransport())
 		if (auto sctpTransport = getSctpTransport())