Bug 195868

Summary: Non-standard video resolutions are not sent to peer
Product: WebKit Reporter: Chad Phillips <webkit>
Component: WebRTCAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Critical CC: eric.carlson, jonlee, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Safari 12   
Hardware: iPhone / iPad   
OS: iOS 12   

Description Chad Phillips 2019-03-17 17:45:36 PDT
Tests at https://jsfiddle.net/thehunmonkgroup/kmgebrfz/15/ seem to indicate that iOS 12.2 Beta now supports arbitrary video resolutions when acquiring a stream via navigator.mediaDevices.getUserMedia().

Local display of the acquired stream works fine, however, when sending that same stream to a peer connection, no data is received by the peer.

I've whipped up a quick test case to illustrate the issue:

1. Visit https://staging-connect.circleanywhere.com/public/ios/qqvga-stream-not-sent-to-peer/#vga in Google Chrome and via an iOS device, and notice that the Google Chrome instance correctly receives the video stream from the iOS device. This configuration sets the video constraints at VGA resolution, which in iOS 12.1 is an available 'standard' resolution.

2. Visit https://staging-connect.circleanywhere.com/public/ios/qqvga-stream-not-sent-to-peer/ in Google Chrome and via an iOS device, and notice that the Google Chrome instance DOES NOT correctly receive the video stream from the iOS device. This configuration sets the video constraints at QQVGA resolution, which in iOS 12.2 is an available 'scaled' resolution as far as I can tell.
Comment 1 Radar WebKit Bug Importer 2019-03-18 18:54:44 PDT
<rdar://problem/49003736>
Comment 2 youenn fablet 2019-04-05 11:37:52 PDT
Hi Chad, thanks for the report.
I was able to repro it on iOS. MacOS does not seem to have the issue.

https://youennf.github.io/webrtc-tests/src/content/peerconnection/pc-h264/ shows the issue.
Comment 3 youenn fablet 2019-06-07 14:07:44 PDT
Please try it on the latest iOS 13 beta.
Comment 4 Chad Phillips 2019-06-07 16:47:20 PDT
My iPhone is too old for iOS 13, I'll test and report back once I get a newer device to test with, should be fairly soon.

In the meantime, will this fix be backported to iOS 12?
Comment 5 Chad Phillips 2019-06-12 16:39:14 PDT
Is there some other way to get iOS 13 beta for testing besides installing XCode or OS X beta? Not really wanting to do that.

When with the over the air update be available for developers?
Comment 6 Chad Phillips 2019-08-17 08:30:34 PDT
I've confirmed this bug is fixed on iOS 13 Beta -- however, it's still an issue on iOS 12.4, so the fix was not backported.