Re: [webrtc-pc] Add setTargetJitterBufferDelay method to RTCRtpReceiver (#2138)

I have some language-nits but that can wait (I'm in Prague for IETF), @jan-ivar what do you think about this type of method? Without specifying things we don't want to specify, I think this type of "SHOULD" and "MAY" language is what you would end up with. The elephant in the room being that we don't know how flexible different implementations would be in controlling this, so different APIs might have different strategies or care different amounts about abiding by the desired target.

Questions like "How should targeting 10^-10 or 10^10 be interpreted?" might arise, and that would be implementation-specific. But congestion control is implementation-specific, and we like it that way. Is a vague API in this area OK?

I'd argue that it is OK because it is merely a "target". There is already an example of a target, at least in stats: [targetBitrate](https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-targetbitrate). Encoders have targets, but different codecs/implementations would abide by the target differently, and the actual bitrate may be different, and different under different conditions.

In this case we are asking to set the target though, not merely observe it.

A concern with this API is that if you set a "bad" target the application may need to diagnose itself (e.g. with getStats) not only to find out how well the jitter buffer obeys, but what quality level the application is willing to tolerate when the buffer gets too small or too big for the optimal experience.

Should you be allowed to shoot yourself in the foot? The amount of foot-gunning would currently be up to the implementation. Maybe targeting 0 delay in browser A leads to acceptable performance, but in browser B the experience becomes horrible? We could add implementation recommendations, but it would all be very vague.

I do see the use case for wanting to control the delay though, just like "latency" makes sense for some applications that use getUserMedia().

-- 
GitHub Notification of comment by henbos
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/pull/2138#issuecomment-475773487 using your GitHub account

Received on Friday, 22 March 2019 20:36:50 UTC