-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Guard against MediaEngine being shared between PeerConnections #1662
Comments
After a little investigation it turns that we can't do this. It would be a breaking change for lots of applications. What we can do is copy. The user doesn't need a reference to the MediaEngine. Querying for Codec/HeaderExtension happens on the Transceiver level. So a PR would look like this.
|
We also have the issue of interceptor's being shared. That is possible sharp edge, but it is unavoidable because we MAY want them to be shared. Multiple PeerConnections will want to use the same congestion controller etc... Maybe the Interceptor needs to guard against this in an |
If an API is shared between PeerConnections they would use the same MediaEngine. A MediaEngine contains negotiated PayloadTypes so if the PeerConnections were answering you would end up in invalid states. Add DisableMediaEngineCopy to SettingEngine in case user needs old behavior. Resolves #1662
If an API is shared between PeerConnections they would use the same MediaEngine. A MediaEngine contains negotiated PayloadTypes so if the PeerConnections were answering you would end up in invalid states. Add DisableMediaEngineCopy to SettingEngine in case user needs old behavior. Resolves #1662
Assert that the MediaEngine used by the PeerConnection is in the state we expect Relates to #1662
Copy the entire API. Since the MediaEngine is a pointer that would destroy the MediaEngine that is used by other PeerConnections Relates to #1662
Copy the entire API. Since the MediaEngine is a pointer that would destroy the MediaEngine that is used by other PeerConnections Relates to #1662
A
MediaEngine
should only be used by one PeerConnection. We need to find a way to assert that it has never been used before.The text was updated successfully, but these errors were encountered: