Enable H264 simulcast
Created attachment 351310 [details] Patch
Created attachment 351369 [details] Patch
Created attachment 351374 [details] Patch
Created attachment 351387 [details] Patch
Created attachment 351390 [details] Patch
Created attachment 351396 [details] Patch
Comment on attachment 351396 [details] Patch Attachment 351396 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/9428847 New failing tests: webrtc/simulcast-h264.html media/range-extract-contents-crash.html
Created attachment 351419 [details] Archive of layout-test-results from ews104 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Created attachment 351495 [details] Patch
Comment on attachment 351495 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=351495&action=review > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoDecoderFactory.mm:40 > + [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp8Name], #if !defined(RTC_DISABLE_VP8) ? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.mm:43 > + RTCVideoCodecInfo *vp8Info = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp8Name]; Ditto. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.mm:52 > + vp8Info, Ditto. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:897 > + Nit: unneeded > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:922 > + auto codec = [[RTCSingleVideoEncoderH264 alloc] initWithCodecInfo: _codecInfo simulcastIndex:index]; > + [_codecs addObject: codec]; Nit: space after ":" not needed. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:934 > + [codec startEncodeWithSettings: settings numberOfCores: numberOfCores]; Ditto. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:949 > + result |= [codec encode: frame codecSpecificInfo: info frameTypes: frameTypes]; Ditto > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:957 > + result |= [codec setBitrate: bitRateAllocation->GetSpatialLayerSum(counter++) framerate: framerate]; Ditto > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:165 > +- (int)setRateAllocation: (const webrtc::VideoBitrateAllocation *)allocation framerate:(uint32_t)framerate; Ditto > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Native/src/objc_video_encoder_factory.mm:94 > + return [encoder_ setRateAllocation: &allocation framerate:framerate]; Ditto
Created attachment 351508 [details] Patch for landing
(In reply to Eric Carlson from comment #10) > Comment on attachment 351495 [details] > Patch Thanks, I took it all!
Comment on attachment 351508 [details] Patch for landing Clearing flags on attachment: 351508 Committed r236792: <https://trac.webkit.org/changeset/236792>
All reviewed patches have been landed. Closing bug.
<rdar://problem/44970744>
The newly added test is failing in WebKitGTK, it should probably be fixed until support is added similarly to VTB in this patch.