Bug 207325

Summary: Regression: RTCRtpSender.getCapabilities("video") returns null on iOS 13.4 (17E5223h)
Product: WebKit Reporter: daginge
Component: WebRTCAssignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, eric.carlson, ews-watchlist, glenn, hta, jer.noble, philipj, sergio, tommyw, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: iPhone / iPad   
OS: iOS 13   
Attachments:
Description Flags
Patch none

Description daginge 2020-02-06 04:16:44 PST
If you call RTCRtpSender.getCapabilities("video") on iOS 13.4, it returns null. Previously this returned an object with available codecs.

Repro steps:
1. Go to https://codepen.io/daginge/full/XWbWeWN on iOS 13.4
2. Accept camera permissions (unsure if this is actually neccessary, but included it anyway)
3. See that "Available codecs" in the log is null. If you test this on 13.3 it returns as expected.

Impact:
We use this to determine if some legacy devices support H264 on Chrome. This falsely triggered an error message on iOS that H264 is not supported.

Workaround:
Just assume that iOS 13.4 supports H264 and VP8.
Comment 1 Radar WebKit Bug Importer 2020-02-06 08:48:21 PST
<rdar://problem/59224810>
Comment 2 youenn fablet 2020-02-06 08:49:27 PST
Seems bad, reproed it for both audio and video.
Comment 3 youenn fablet 2020-02-06 23:38:01 PST
Hum, the current workaround is to instantiate a peer connection and then to call getCapabilities.
Comment 4 youenn fablet 2020-02-11 11:48:10 PST
Created attachment 390401 [details]
Patch
Comment 5 WebKit Commit Bot 2020-02-11 14:53:14 PST
Comment on attachment 390401 [details]
Patch

Clearing flags on attachment: 390401

Committed r256377: <https://trac.webkit.org/changeset/256377>
Comment 6 WebKit Commit Bot 2020-02-11 14:53:15 PST
All reviewed patches have been landed.  Closing bug.