Bladeren bron

Merge pull request #1421 from paullouisageneau/prevent-vs-code-analysis-warning

Prevent dangling pointer warning with Visual Studio code analysis
Paul-Louis Ageneau 1 maand geleden
bovenliggende
commit
bf293f4722
1 gewijzigde bestanden met toevoegingen van 6 en 4 verwijderingen
  1. 6 4
      src/impl/peerconnection.cpp

+ 6 - 4
src/impl/peerconnection.cpp

@@ -843,8 +843,9 @@ void PeerConnection::iterateRemoteTracks(std::function<void(shared_ptr<Track> tr
 		std::shared_lock lock(mTracksMutex); // read-only
 		locked.reserve(remote->mediaCount());
 		for(int i = 0; i < remote->mediaCount(); ++i) {
-			if (std::holds_alternative<Description::Media *>(remote->media(i))) {
-				auto remoteMedia = std::get<Description::Media *>(remote->media(i));
+			auto media = remote->media(i);
+			if (std::holds_alternative<Description::Media *>(media)) {
+				auto remoteMedia = std::get<Description::Media *>(media);
 				if (!remoteMedia->isRemoved())
 					if (auto it = mTracks.find(remoteMedia->mid()); it != mTracks.end())
 						if (auto track = it->second.lock())
@@ -1082,8 +1083,9 @@ void PeerConnection::processLocalCandidate(Candidate candidate) {
 void PeerConnection::processRemoteDescription(Description description) {
 	// Create tracks from remote description
 	for (int i = 0; i < description.mediaCount(); ++i) {
-		if (std::holds_alternative<Description::Media *>(description.media(i))) {
-			auto remoteMedia = std::get<Description::Media *>(description.media(i));
+		auto media = description.media(i);
+		if (std::holds_alternative<Description::Media *>(media)) {
+			auto remoteMedia = std::get<Description::Media *>(media);
 			std::unique_lock lock(mTracksMutex); // we may emplace a track
 			if (auto it = mTracks.find(remoteMedia->mid()); it != mTracks.end())
 				continue;