Browse Source

Disable comparing local and remote iceUfrag and icePwd in validateRemoteDescription.

xicilion 1 year ago
parent
commit
e98dd3e292
1 changed files with 5 additions and 4 deletions
  1. 5 4
      src/impl/peerconnection.cpp

+ 5 - 4
src/impl/peerconnection.cpp

@@ -858,10 +858,11 @@ void PeerConnection::validateRemoteDescription(const Description &description) {
 	if (activeMediaCount == 0)
 	if (activeMediaCount == 0)
 		throw std::invalid_argument("Remote description has no active media");
 		throw std::invalid_argument("Remote description has no active media");
 
 
-	if (auto local = localDescription(); local && local->iceUfrag() && local->icePwd())
-		if (*description.iceUfrag() == *local->iceUfrag() &&
-		    *description.icePwd() == *local->icePwd())
-			throw std::logic_error("Got the local description as remote description");
+	// In the WebRTC Direct protocol, we need to allow local and remote to use the same ufrag and pwd.
+	// if (auto local = localDescription(); local && local->iceUfrag() && local->icePwd())
+	// 	if (*description.iceUfrag() == *local->iceUfrag() &&
+	// 	    *description.icePwd() == *local->icePwd())
+	// 		throw std::logic_error("Got the local description as remote description");
 
 
 	PLOG_VERBOSE << "Remote description looks valid";
 	PLOG_VERBOSE << "Remote description looks valid";
 }
 }