[webkit-changes] [WebKit/WebKit] cbd18c: RTCRtpEncodingParameters has wrong default values

youennf noreply at github.com
Tue Sep 17 00:07:41 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cbd18cef463390326c7b022f088ce149f8bd4cbd
      https://github.com/WebKit/WebKit/commit/cbd18cef463390326c7b022f088ce149f8bd4cbd
  Author: Youenn Fablet <youenn at apple.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/webrtc/simulcast/negotiation-encodings.https-expected.txt
    M LayoutTests/webrtc/video-getParameters-expected.txt
    M LayoutTests/webrtc/video-getParameters.html
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.h
    M Source/WebCore/Modules/mediastream/RTCRtpEncodingParameters.h
    M Source/WebCore/Modules/mediastream/RTCRtpEncodingParameters.idl
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp

  Log Message:
  -----------
  RTCRtpEncodingParameters has wrong default values
https://bugs.webkit.org/show_bug.cgi?id=279193
rdar://135345629

Reviewed by Philippe Normand.

We update the WebIDL according the spec.
The default values, in particular scaleResolutionDownBy, triggered an interop issue:
- Safari would return 1 on all layers
- Chrome would return undefined (meaning default value 1,2, 4 is to be applied).
- Firefox would return 1, 2, 4 as defined in the spec.

By updating the WebIDL and binding code to libwebrtc, we align with Chrome.
This includes aligning on failures in LayoutTests/imported/w3c/web-platform-tests/webrtc/simulcast/negotiation-encodings.https.html.
This is probably the safest approach for now, until we reach out consensus within the WebRTC WG.

* LayoutTests/imported/w3c/web-platform-tests/webrtc/simulcast/negotiation-encodings.https-expected.txt:
* LayoutTests/webrtc/video-getParameters-expected.txt:
* LayoutTests/webrtc/video-getParameters.html:
* Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::isAudioTransceiver):
(WebCore::validateSendEncodings):
(WebCore::RTCPeerConnection::addTransceiver):
* Source/WebCore/Modules/mediastream/RTCPeerConnection.h:
* Source/WebCore/Modules/mediastream/RTCRtpEncodingParameters.h:
* Source/WebCore/Modules/mediastream/RTCRtpEncodingParameters.idl:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
(WebCore::fromRTCEncodingParameters):
* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::updateRTCRtpSendParameters):

Canonical link: https://commits.webkit.org/283750@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list