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
RTCRtpSender.setTransport may raise a IncompatibleMediaStreamTrackError due to identity check #467
Comments
@murillo128 which transport is changed? |
For example, auser has two transports (tA and tB) with two different peers(A and B), each one with a different identity, and does a gUM with A identity constraint. Then he creates a sender with the track and transport tA. If then he does sender.setTransport(tB), transport tB doesn't match the identity constraint off the track |
@murillo128 Ah, I see, yes, Yes, this issue is valid and needs a fix. I'm also thinking this is another reason these might need to need Promises result because I'm not convinced this kind of check can always be done synchronously. It might not even be possible as an exception. |
I also think all sender methods should return a promise.
|
@murillo128 I'm not sure of "all" but certainly there is an issue outstanding on the |
$related #468 This peerIdentity stuff has been removed from 1.0 and changed to "do not send". No more exception, nor promise related issues. |
Currently a 1.0 compatibility issue, need to strip errors/promise resolution issues for peerIdentity, we need to fix, and we will follow lead of webrtc 1.0 on this one. They currently say "don't transmit" so that's what we will do too. |
Closing, this needs to be taken up in the WebRTC Working Group as per my recent message to the mail list: |
The RTCRtpSender needs to ensure that the transport identity matches the media track requested identity.
This is only done currently when changing the track:
but it is not checked when the transport is changed.
When the transport is changed, the transport identity has to be checked against the media track constraints and if not matching, either raise an IncompatibleMediaStreamTrackError or return a promise and reject it.
The text was updated successfully, but these errors were encountered: