browser-specs icon indicating copy to clipboard operation
browser-specs copied to clipboard

Is "WebRTC Extensions" a relevant spec?

Open Elchi3 opened this issue 4 years ago • 8 comments

https://w3c.github.io/webrtc-extensions/

It says about itself:

This document contains proposed extensions to the [WEBRTC] specification. Some of these extensions were originally included within the [WEBRTC] specification, but needed to be removed due to lack of implementation experience. Others were not sufficiently mature to be incorporated into that specification when they were developed, but were too small to warrant creation of a separate document.

Does that mean that BCD and MDN should rather not talk about features appearing in this spec?

I ask because it appeared in our dataset due to this page: https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getDefaultIceServers

Elchi3 avatar Jun 02 '21 12:06 Elchi3

I don't think WebRTC extensions should be added - it's a collection of patches, not a spec, with the intent that these patches migrate to the main WebRTC spec once they get traction & implementation.

The particular case of getDefaultIceServers is that it was in the initial spec, got removed for lack of implementation - the feature might be marked as deprecated until it gets implemented (if it ever does, which I doubt)

dontcallmedom avatar Jun 02 '21 13:06 dontcallmedom

Thanks Dom! Makes sense to me.

Elchi3 avatar Jun 02 '21 13:06 Elchi3

I've reopened this since part of this spec are shipping, and having the IDL extracted would be very helpful. As it is, I've had to add custom IDL, which helpfully revealed that the sum of all IDL doesn't make sense: https://github.com/openwebdocs/mdn-bcd-collector/pull/1342 https://github.com/w3c/webrtc-pc/pull/2951

foolip avatar Mar 27 '24 11:03 foolip

I haven't checked all of the APIs, but at least getHeaderExtensionsToNegotiate, setHeaderExtensionsToNegotiate, and getNegotiatedHeaderExtensions are shipping in Chrome, and jitterBufferTarget is in beta now.

foolip avatar Mar 27 '24 11:03 foolip

I've filed https://github.com/w3c/webrtc-pc/issues/2952 which should take care of jitterBufferTarget.

I've looked at the rest of webrtc-extensions, and unless I missed it, I think beyond getHeaderExtensionsToNegotiate, setHeaderExtensionsToNegotiate, and getNegotiatedHeaderExtensions, none of the other extensions are implemented anywhere yet.

There may be a case to make to integrate the header extensions stuff as a candidate addition to -pc (since after all there other candidate additions that have not been implemented twice either)

dontcallmedom avatar Mar 27 '24 15:03 dontcallmedom

(there is also in fact the adaptivePtime and codec fields of RTCRtpEncodingParameters)

dontcallmedom avatar Mar 27 '24 15:03 dontcallmedom

I understand the desire to make a distinction between this extensions spec and the other specs. Is there some way we can include it in webref/idl but have the spec designated as experimental or somehow less than blessed by the WG?

foolip avatar Mar 27 '24 18:03 foolip

getHeaderExtensionsToNegotiate, setHeaderExtensionsToNegotiate, and getNegotiatedHeaderExtensions

I would like to add these to BCD but I can't add a proper spec URL for them given they are just in https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control

Shipped in Chrome 117 and looks like positive positions from Webkit and Gecko.

Elchi3 avatar Apr 18 '24 10:04 Elchi3