-
Notifications
You must be signed in to change notification settings - Fork 42
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
IceTransport.stop() affect on RtpSender/Receiver #186
Comments
When receiver.receive(parameters) or sender.send(parameters) is called, and parameters.rtcp.mux is set to false, then there needs to be an RTCP DtlsTransport and IceTransport, set (and not stop'd) or else an exception (InvalidParameters) will be thrown. Once IceTransport.stop(), is called, calling DtlsTransport.start() on a DtlsTransport constructed from that IceTransport should probably throw an exception. If IceTransport.stop() is called after DtlsTransport.start() is called, should the DtlsTransport.onerror handler be called? Is there ever a valid reason to call DtlsTransport.stop() on an RTP or RTCP DtlsTransport attached to an active RtpReceiver or RtpSender? |
Here are some questions relating to this issue: Section 2.3.1: RTCDtlsTransport.onerror Should calling transport.stop() cause this error handler to be fired? Section 2.3.2: RTCDtlsTransport.start() Should we throw an InvalidStateError exception if stop() or transport.stop() has been called? Section 3.3.2 RTCIceTransport.createAssociatedTransport() Should we throw an InvalidStateError exception if stop() has been called? What about if gatherer.close() has been called? Section 3.3.2 RTCIceTransport.start() Should we throw an InvalidStateError exception if stop() or gatherer.close() has been called? Section 4.3.1 RTCIceTransportController.addTransport() Should we throw an InvalidStateError exception if transport.stop() had been called? What about transport.gatherer.close()? Section 6.3.1 onerror: Is this event handler fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() is called? Section 6.3.2 send: Is an InvalidStateError exception fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() has been called? setTransport: Is an InvalidStateError exception fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() has been called? Section 7.3.1 onerror: Is this event handler fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() is called? Section 7.3.2 receive: Is an InvalidStateError exception fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() has been called? setTransport: Is an InvalidStateError exception fired if transport.stop(), rtcpTransport.stop(), transport.transport.stop() or rtcpTransport.transport.stop() has been called? |
If If |
change some text here: Create an associated RTCIceTransport for RTCP. If called more than once for the same component, or if the |
|
|
|
I don't think we should be firing errors or throwing exceptions on the |
#148 - Clarified handling of incoming connectivity checks prior to calling iceTransport.start(), as noted in: #170 - Clarified handling of incoming DTLS packets, as noted in: #173 - Added RTCIceGatherer as an optional argument to the RTCIceTransport constructor, as noted in: #174 - Clarified handling of contradictory RTP/RTCP multiplexing settings, as noted in: #185 - Clarified error handling relating to RTCIceTransport, RTCDtlsTransport and RTCIceGatherer objects in the "closed" state, as noted in: #186 - Added component method and createAssociatedGatherer() method to the RTCIceGatherer object, as noted in: #188 - Added close() method to the RTCIceGatherer object as noted in: #189 - Clarified behavior of TCP candidate types, as noted in: #190 - Clarified behavior of iceGatherer.onlocalcandidate, as noted in: #191 - Updated terminology in Section 1.1 as noted in: #193 - Updated RTCDtlsTransportState definitions, as noted in: #194 - Updated RTCIceTransportState definitions, as noted in: #197
From Robin Raymond:
http://lists.w3.org/Archives/Public/public-ortc/2015Mar/0014.html
What happens to RtpSender/Receiver associated to an IceTransport() if IceTransport.stop() is called? For example, the RTCP was non-mux and the DtlsTransport for RTCP is .stop()’ed. This case would mean RTP would continue to flow but RTCP would stop. Or the RTP transport could be closed without RTCP being close. Or both could be closed.
Currently things “silently” fail (with perhaps some statistics going ‘wrong’). There’s no error or event on the RtpSender/Receiver to inform of the bad condition.
The text was updated successfully, but these errors were encountered: