- From: Peter Thatcher <pthatcher@google.com>
- Date: Wed, 23 May 2018 09:15:32 -0700
- To: Christer Holmberg <christer.holmberg@ericsson.com>
- Cc: Bernard Aboba <Bernard.Aboba@microsoft.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CAJrXDUHuE3uGCqBDYWuJXT_aP+fNsB0C6V9tfMZuadpyZ3vLpg@mail.gmail.com>
On Wed, May 23, 2018 at 2:32 AM Christer Holmberg < christer.holmberg@ericsson.com> wrote: > > Hi, > > If you are going to remove freezing, I think there are some things to > consider: > > Q1: > > Even if each media stream has its own ICE agent, the standard still define > usage of freezing when a foundation contains multiple components (one > component is set to Waiting while the rest are Frozen). Is the assumption > that there > I was also assuming one component per IceTransport. Basically, only (at the ICE level) officially support BUNDLE and RTCP-mux. Of course, one could always to the WebRTC NV equivalent of multiple PeerConnections. > > Q2: > > ICE defines procedures where a successful connectivity check may impact > the state of a pair associated with another stream. How would that be > impacted if each stream has its own ICE agent? > It wouldn't. Separate ICE agents don't affect one another (except for global limits). > > Q3: > > Even if different ICE agents are used, there is still a virtual "global Ta > value". Assuming each ICE agent will order its foundations in the same way, > this would impact when pairs for lower-priority foundations are tested. > Yes, the global limits would still apply, just like they do for multiple PeerConnections today. > > > Q4: > > While the WebRTC device may use different ICE agents for each stream, the > remote peer may not. Not sure how/if exactly that would impact things, but > it needs to be considered. > > That's already the case today if one side uses one PeerConnection and the other side uses multiple PeerConnections. But given that almost all use of ICE is done with 1 components and one stream (because of BUNDLE), and it will probably continue to be thus, I think it's best to optimize for the overwhelming use case and not worry too much about bizarre scenarios people might setup. > > > Regards, > > Christer > > > > > > > -----Original Message----- > From: Bernard Aboba [mailto:Bernard.Aboba@microsoft.com] > Sent: 19 May 2018 02:25 > To: Peter Thatcher <pthatcher@google.com> > Cc: public-webrtc@w3.org > Subject: Re: ICE freezing and Bandwidth Estimation > > On May 18, 2018, at 16:24, Peter Thatcher <pthatcher@google.com> wrote: > > > > I think for WebRTC NV it would be better to simplify and say that all > IceTransports are separate ICE agents and no freezing happens. I'm pretty > sure most browsers don't, and never will, implement freezing behavior > anyway. And I don't think any applications really care anyway about the > theoretical benefit that would come from freezing. It's more likely they > care about things like controlling when relay server is used or not, or if > backup candidates pairs are used and that sort of thing. > > [BA] +1. > > In Edge ORTC we largely ignore freezing which was one of the reasons we > did not initially see value in IceTransportController. So far that does > not seem to have resulted in any ICE interoperability issues. So I agree > we don’t need to worry about freezing. > > Peter also said: > > “ICE-based BWE makes no sense to me. It's the wrong layer for that. I > suppose if the app could control the timing of checks and know when > responses come back (as with SLICE), then an app could do some form of BWE, > but limited by the global ICE pacer/limiter. “ > > [BA] I understand the concept of estimating throughput or latency for a > candidate pair and can think of some uses for that (like choosing the > selected pair), though I’m not clear how much of this needs to be exposed > to the application. > > There *might* be a use case for estimating or restricting bandwidth in a > mesh conference (e.g. imposing a collective limit on multiple RtpSenders). > But as you say, that would seem to be motivation for an RtpController, not > an IceTransportController object. > > So overall, I’m left scratching my head. What were we thinking?? > > > If we want BWE exposed to the app, expose a way to get a BWE value from > the SctpTransport, QuicTransport, and/or RtpTransport. That would be > useful. > > [BA] I can certainly see value in that from a statistical point of view. > Is there reason to consider this outside the Stats API? >
Received on Wednesday, 23 May 2018 16:16:11 UTC