RESOLVED FIXED Bug 194380
Running RTCRtpSender.getCapabilities("video") before initial offer breaks VP8
https://bugs.webkit.org/show_bug.cgi?id=194380
Summary Running RTCRtpSender.getCapabilities("video") before initial offer breaks VP8
Dag-Inge Aas
Reported 2019-02-07 01:36:55 PST
Affected browser: Safari Technical Preview Release 75 (Safari 12.2, WebKit 14608.1.3.0.2) Summary: If I run RTCRtpSender.getCapabilities("video") before I create the initial peer connection (with offer), VP8 will not be included in the SDP. If I don't run getCapabilities before creating an offer it works as expected. Steps to reproduce: 1. Open https://webrtc.github.io/samples/src/content/peerconnection/pc1/ in a new tab. Open console upon page load. 2. Click "Start" then "Call" 3. Run pc1.localDescription.sdp.indexOf("VP8") in the console and observe that VP8 is there. 4. Close the browser completely and open https://webrtc.github.io/samples/src/content/peerconnection/pc1/ in a new tab. Open console upon page load. 5. Run RTCRtpSender.getCapabilities("video"). Observe that VP8 is not in the list. 6. Click "Start" then "Call" 7. Run pc1.localDescription.sdp.indexOf("VP8") and see that VP8 is missing (returns -1) Expected result: RTCRtpSender.getCapabilities("video") returns VP8 no matter when you call it, and the peer connection always offers VP8 when available. Actual result: RTCRtpSender.getCapabilities("video") does not contain VP8 when run before creating initial peer connection, and seems to break VP8 in any following peer connections made afterwards. However, running RTCRtpSender.getCapabilities("video") after the initial offer with VP8 works as expected. Special thanks to fippo who originally discovered an issue with getCapabilities and aided in debugging the underlying issue.
Attachments
Patch (7.67 KB, patch)
2019-02-08 09:19 PST, youenn fablet
no flags
Radar WebKit Bug Importer
Comment 1 2019-02-08 07:31:35 PST
youenn fablet
Comment 2 2019-02-08 09:19:14 PST
EWS Watchlist
Comment 3 2019-02-08 09:22:07 PST
Attachment 361508 [details] did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:116: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 4 2019-02-08 10:49:29 PST
Comment on attachment 361508 [details] Patch Clearing flags on attachment: 361508 Committed r241200: <https://trac.webkit.org/changeset/241200>
WebKit Commit Bot
Comment 5 2019-02-08 10:49:33 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.