Re: When is RTCIceTransportController needed?

If you have more than one Transport, you should make a Controller to get
the correct freezing behavior.

If we move restart() to the Controller, restarting would require a
Controller.

Gathering before you start a transport would also require a Controller.


On Tue, Jul 29, 2014 at 2:55 PM, Bernard Aboba <Bernard.Aboba@microsoft.com>
wrote:

>  At the July 20 ORTC CG meeting, we talked about adding restart() and
> gather() methods to the RTCIceTransportController object, and removing
> gather() from the RTCIceTransport.
>
> One question was whether this implied that RTCIceTransportController was
> needed, even for simple cases, such as when both A/V mux and RTP/RTCP mux
> is used.
>
> In looking through the current examples in the spec, it was not very clear
> when RTCIceTransportController would be needed:
>
> 1.     Section 3.16, Example 3. This example assumes a single ICE and
> DTLS transport (implying A/V and RTP/RTCP mux), so it didn't construct an
> RTCIceTransportController. Note that this example doesn't call
> RTCIceTransport.gather(), so it seems to imply that gathering is initiated
> via the start() method. Since this example doesn't need either ICE restart
> or gather(), is it necessary to construct an RTCIceTransportController?
>
> 2.     Section 4.4, Example 5. This is a more complicated example where
> the Initiator constructs ICE transports, DTLS transports, sender and
> receiver objects, assuming no A/V or RTP/RTCP mux, then determines whether
> the responder can do RTP/RTCP mux. Here also there is no ICE restart or use
> of gather(), only RTCIceTransport.start(). And there is no
> RTCIceTransportController constructed. Do we need to construct one, or
> since there are separate A/V transports, it is "implicitly" contructed
> somehow??
>
> 3.     Section 5.4, Example 6: This is a forking example with an
> RTCRtpIceListener and no RTP/RTCP mux. Again, it only uses
> RTCIceTransport.start, not restart() or gather(), and no
> RTCIceTransportController object is constructed.
>
>
>

Received on Wednesday, 30 July 2014 00:00:24 UTC