Bug 262791

Summary: Conflicting Video Codec Payload Types in Safari WebRTC Screen Sharing
Product: WebKit Reporter: Mukesh <mukeshbiswas>
Component: WebRTCAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: philipp.hancke, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Unspecified   
OS: Unspecified   

Mukesh
Reported 2023-10-06 09:10:15 PDT
I have identified a issue related to WebRTC video codec negotiation during screen sharing sessions in Safari. This problem occurs when two participants are involved in a video call, one using Safari on macOS (User A) and the other using Chrome/Edge on a desktop (User B). The following steps outline the issue: User A initiates a video call to User B. User B answers the call with video enabled. Both users turn off their cameras. User A begins sharing their screen. User B attempts to share their screen while User A is already sharing. The issue arises when the participants initially negotiate video codecs, either "rtx/9000" or "H264/9000." During subsequent renegotiation, User B sends the video codec "a=rtpmap:122 rtx/9000" for screen sharing. User A accepts this codec, but when User A attempts to share their screen, there are conflicting payload types with different codec names (a=rtpmap:122 H264/9000) in the Session Description Protocol (SDP). This results in the following error: Failed to execute 'setLocalDescription' on 'RTCPeerConnection': Failed to parse SessionDescription. a=rtpmap:122 H264/90000 Duplicate payload type with conflicting codec name or clock rate. Expected behaviour: sdp should not consist duplicate payload.
Attachments
:fippo
Comment 1 2023-10-10 23:30:44 PDT
Radar WebKit Bug Importer
Comment 2 2023-10-13 09:11:14 PDT
Note You need to log in before you can comment on or make changes to this bug.