Correct peerconnection states + proper cleanup peerconnection #165
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Pull Request: Correct peerconnection states + proper cleanup peerconnection
Motivation
The primary motivation behind this pull request is to improve the robustness and reliability of the WebRTC peer connection handling within our project. By ensuring that the peer connection states are correctly managed and that resources are properly cleaned up, we can prevent potential memory leaks and improve the overall stability of the application.
Changes Made
Corrected Peer Connection State Handling:
OnICEConnectionStateChange
withOnConnectionStateChange
to handle peer connection states more accurately.Disconnected
,Closed
,Connected
,Connecting
, andFailed
) to ensure appropriate actions are taken for each state.Proper Cleanup of Peer Connections:
CandidateArrays
map when the peer connection is closed or disconnected.CandidatesMutex
) are correctly used to prevent race conditions during state changes and cleanup.PacketsCount
) that were not being used effectively.Improved Resource Management:
peerConnection.Close()
method is called appropriately to release resources.Benefits
Overall, these changes contribute to a more robust and maintainable WebRTC implementation in our project, enhancing the user experience and reliability of the application.