Browse Source

Made PeerConnection::changeState() return value consistent with the rest

Paul-Louis Ageneau 4 years ago
parent
commit
3ac3a98e26
1 changed files with 15 additions and 14 deletions
  1. 15 14
      src/peerconnection.cpp

+ 15 - 14
src/peerconnection.cpp

@@ -1025,14 +1025,13 @@ void PeerConnection::triggerTrack(std::shared_ptr<Track> track) {
 }
 }
 
 
 bool PeerConnection::changeState(State state) {
 bool PeerConnection::changeState(State state) {
-	// Return false if the current State is Closed
 	State current;
 	State current;
 	do {
 	do {
 		current = mState.load();
 		current = mState.load();
 		if (current == State::Closed)
 		if (current == State::Closed)
 			return false;
 			return false;
 		if (current == state)
 		if (current == state)
-			return true;
+			return false;
 
 
 	} while (!mState.compare_exchange_weak(current, state));
 	} while (!mState.compare_exchange_weak(current, state));
 
 
@@ -1050,22 +1049,24 @@ bool PeerConnection::changeState(State state) {
 }
 }
 
 
 bool PeerConnection::changeGatheringState(GatheringState state) {
 bool PeerConnection::changeGatheringState(GatheringState state) {
-	if (mGatheringState.exchange(state) != state) {
-		std::ostringstream s;
-		s << state;
-		PLOG_INFO << "Changed gathering state to " << s.str();
-		mProcessor->enqueue([this, state] { mGatheringStateChangeCallback(state); });
-	}
+	if (mGatheringState.exchange(state) == state)
+		return false;
+	
+	std::ostringstream s;
+	s << state;
+	PLOG_INFO << "Changed gathering state to " << s.str();
+	mProcessor->enqueue([this, state] { mGatheringStateChangeCallback(state); });
 	return true;
 	return true;
 }
 }
 
 
 bool PeerConnection::changeSignalingState(SignalingState state) {
 bool PeerConnection::changeSignalingState(SignalingState state) {
-	if (mSignalingState.exchange(state) != state) {
-		std::ostringstream s;
-		s << state;
-		PLOG_INFO << "Changed signaling state to " << s.str();
-		mProcessor->enqueue([this, state] { mSignalingStateChangeCallback(state); });
-	}
+	if (mSignalingState.exchange(state) == state) 
+		return false;
+	
+	std::ostringstream s;
+	s << state;
+	PLOG_INFO << "Changed signaling state to " << s.str();
+	mProcessor->enqueue([this, state] { mSignalingStateChangeCallback(state); });
 	return true;
 	return true;
 }
 }