[Webkit-unassigned] [Bug 276445] New: Sync `direction` as per `RTCRtpTransceiver` specification

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 10 13:12:23 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=276445

            Bug ID: 276445
           Summary: Sync `direction` as per `RTCRtpTransceiver`
                    specification
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebRTC
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: ahmad.saleem792 at gmail.com
                CC: youennf at gmail.com

Hi Team,

While going through WebRTC browser specific failures, I noticed that we fail bunch of tests, which are due to out of sync alignment with spec.

Web-Spec: https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver

> In 'Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl', we have:

 attribute RtpTransceiverDirection direction;

we have to change to:

attribute RTCRtpTransceiverDirection direction;

> In 'Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl':

We have to add following:

[
    Conditional=WEB_RTC,
    EnabledBySetting=PeerConnectionEnabled
] enum RTCRtpTransceiverDirection {
    "sendrecv",
    "sendonly",
    "recvonly",
    "inactive",
    "stopped"
};

as per - https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverdirection

> In 'Source/WebCore/platform/mediastream/RTCRtpTransceiverDirection.h':

Update enum class to:

enum class RTCRtpTransceiverDirection {
    Sendrecv,
    Sendonly,
    Recvonly,
    Inactive,
    Stopped
};

> In 'Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp':

Update 'toRTCRtpTransceiverDirection' function to:

RTCRtpTransceiverDirection toRTCRtpTransceiverDirection(webrtc::RtpTransceiverDirection rtcDirection)
{
    switch (rtcDirection) {
    case webrtc::RtpTransceiverDirection::kSendRecv:
        return RTCRtpTransceiverDirection::Sendrecv;
    case webrtc::RtpTransceiverDirection::kSendOnly:
        return RTCRtpTransceiverDirection::Sendonly;
    case webrtc::RtpTransceiverDirection::kRecvOnly:
        return RTCRtpTransceiverDirection::Recvonly;
    case webrtc::RtpTransceiverDirection::kInactive:

        return RTCRtpTransceiverDirection::Inactive;
    case webrtc::RtpTransceiverDirection::kStopped:
        return RTCRtpTransceiverDirection::Stopped;
    };

    RELEASE_ASSERT_NOT_REACHED();
}

and update 'fromRTCRtpTransceiverDirection' function to:

webrtc::RtpTransceiverDirection fromRTCRtpTransceiverDirection(RTCRtpTransceiverDirection direction)
{
    switch (direction) {
    case RTCRtpTransceiverDirection::Sendrecv:
        return webrtc::RtpTransceiverDirection::kSendRecv;
    case RTCRtpTransceiverDirection::Sendonly:
        return webrtc::RtpTransceiverDirection::kSendOnly;
    case RTCRtpTransceiverDirection::Recvonly:
        return webrtc::RtpTransceiverDirection::kRecvOnly;
    case RTCRtpTransceiverDirection::Inactive:
        return webrtc::RtpTransceiverDirection::kInactive;
    case RTCRtpTransceiverDirection::Stopped:
        return webrtc::RtpTransceiverDirection::kStopped;
    };

    RELEASE_ASSERT_NOT_REACHED();
}

-_

We might need to update 'GSstream' as well but it does progress few test cases but it leads to following being beginning to timeout - 'RTCRtpTransceiver.https.html'.

Just wanted to raise so we can track it.

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240710/9205cff6/attachment.htm>


More information about the webkit-unassigned mailing list