Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Issue 2803693002: RTCRtpReceiver.getContributingSources() added. (Closed)

Created:
3 years, 8 months ago by hbos_chromium
Modified:
3 years, 8 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, chfremer+watch_chromium.org, chromium-reviews, darin-cc_chromium.org, dglazkov+blink, feature-media-reviews_chromium.org, haraken, jam, jochen+watch_chromium.org, kinuko+watch, mlamouri+watch-content_chromium.org, Peter Beverloo, posciak+watch_chromium.org, tommyw+watchlist_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

RTCRtpReceiver.getContributingSources() added. Adds RTCRtpReceiver.getContributingSources(), https://w3c.github.io/webrtc-pc/#dom-rtcrtpreceiver-getcontributingsources, and RTCRtpContributingSource, https://w3c.github.io/webrtc-pc/#dom-rtcrtpcontributingsource, behind flag "RuntimeEnabled=RTCRtpReceiver". Contributing sources come in two flavors, SSRCs and CSRCs. This interface represents both. For now we ignore SSRCs and only return CSRCs. It was recently decided that SSRCs would be returned in a separate method to distinguish between the two cases. A LayoutTest is used to thoroughly test all blink functionality with regards to CSRCs and the caching of contributing sources. This uses mocking to update contributing sources in a predictable way. The browsertest verifies that no contributing sources are used in a normal peerconnection call. The multiple CSRCs case is currently not possible to test in a browsertest so we rely on the LayoutTest (and webrtc layer testing of contributing sources). BUG=703122 Review-Url: https://codereview.chromium.org/2803693002 Cr-Commit-Position: refs/heads/master@{#463199} Committed: https://chromium.googlesource.com/chromium/src/+/7a16f508ad712bc38ff72e979dd5155a4015c320

Patch Set 1 #

Total comments: 8

Patch Set 2 : Addressed deadbeef's comments #

Patch Set 3 : Rebase with dependent CL, timestamp in ms, not s #

Total comments: 21

Patch Set 4 : Addressed foolip's comments #

Total comments: 12

Patch Set 5 : global-interface-listing-expected.txt updated #

Patch Set 6 : Addressed guidou's comments #

Total comments: 2

Patch Set 7 : DISALLOW_COPY_AND_ASSIGN #

Patch Set 8 : Rebase with master after dep CL landed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+480 lines, -7 lines) Patch
M chrome/test/data/webrtc/peerconnection_rtp.js View 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
A content/renderer/media/webrtc/rtc_rtp_contributing_source.h View 1 2 3 4 5 6 7 1 chunk +34 lines, -0 lines 0 comments Download
A content/renderer/media/webrtc/rtc_rtp_contributing_source.cc View 1 2 3 4 5 6 7 1 chunk +40 lines, -0 lines 0 comments Download
M content/renderer/media/webrtc/rtc_rtp_receiver.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M content/renderer/media/webrtc/rtc_rtp_receiver.cc View 1 2 3 4 5 6 7 2 chunks +13 lines, -0 lines 0 comments Download
M content/shell/test_runner/mock_webrtc_peer_connection_handler.cc View 1 2 3 4 5 6 7 3 chunks +66 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getReceivers.html View 1 2 3 2 chunks +102 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/modules_idl_files.gni View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/peerconnection/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.h View 1 2 3 4 5 6 7 1 chunk +42 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp View 1 2 3 4 5 6 7 1 chunk +41 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.idl View 1 chunk +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.h View 1 2 3 4 5 6 7 2 chunks +22 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp View 1 2 3 4 5 6 7 2 chunks +52 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.idl View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/exported/WebRTCRtpContributingSource.cpp View 1 chunk +11 lines, -0 lines 0 comments Download
M third_party/WebKit/public/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/public/platform/WebRTCRtpContributingSource.h View 1 2 3 4 5 6 7 1 chunk +29 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebRTCRtpReceiver.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -0 lines 0 comments Download

Messages

Total messages: 38 (18 generated)
hbos_chromium
Please take a look, guidou and foolip.
3 years, 8 months ago (2017-04-05 16:44:44 UTC) #6
Taylor_Brandstetter
lgtm; this is exactly how I imagined it working. I like your approach with the ...
3 years, 8 months ago (2017-04-05 19:28:29 UTC) #8
hbos_chromium
PTAL guidou and foolip. foolip, the most interesting bits are the changes to: RTCRtpReceiver.[idl/h/cpp] RTCRtpContributingSource.[idl/h/cpp] ...
3 years, 8 months ago (2017-04-06 08:59:43 UTC) #9
foolip
https://codereview.chromium.org/2803693002/diff/60001/content/shell/test_runner/mock_webrtc_peer_connection_handler.cc File content/shell/test_runner/mock_webrtc_peer_connection_handler.cc (right): https://codereview.chromium.org/2803693002/diff/60001/content/shell/test_runner/mock_webrtc_peer_connection_handler.cc#newcode241 content/shell/test_runner/mock_webrtc_peer_connection_handler.cc:241: class MockWebRTCRtpContributingSource Didn't look closely at this. Would this ...
3 years, 8 months ago (2017-04-06 10:07:24 UTC) #10
hbos_chromium
PTAL foolip and guidou. https://codereview.chromium.org/2803693002/diff/60001/content/shell/test_runner/mock_webrtc_peer_connection_handler.cc File content/shell/test_runner/mock_webrtc_peer_connection_handler.cc (right): https://codereview.chromium.org/2803693002/diff/60001/content/shell/test_runner/mock_webrtc_peer_connection_handler.cc#newcode241 content/shell/test_runner/mock_webrtc_peer_connection_handler.cc:241: class MockWebRTCRtpContributingSource On 2017/04/06 10:07:23, ...
3 years, 8 months ago (2017-04-06 11:10:15 UTC) #11
hbos_chromium
(The dependent CL has not landed and rolled into chromium yet, the bots will fail.)
3 years, 8 months ago (2017-04-06 11:50:31 UTC) #15
Guido Urdaneta
https://codereview.chromium.org/2803693002/diff/80001/content/renderer/media/webrtc/rtc_rtp_contributing_source.h File content/renderer/media/webrtc/rtc_rtp_contributing_source.h (right): https://codereview.chromium.org/2803693002/diff/80001/content/renderer/media/webrtc/rtc_rtp_contributing_source.h#newcode19 content/renderer/media/webrtc/rtc_rtp_contributing_source.h:19: RTCRtpContributingSource(const webrtc::RtpSource& source); explicit https://codereview.chromium.org/2803693002/diff/80001/content/renderer/media/webrtc/rtc_rtp_receiver.cc File content/renderer/media/webrtc/rtc_rtp_receiver.cc (right): https://codereview.chromium.org/2803693002/diff/80001/content/renderer/media/webrtc/rtc_rtp_receiver.cc#newcode53 ...
3 years, 8 months ago (2017-04-06 12:54:57 UTC) #16
hbos_chromium
PTAL guidou, foolip. jochen please take a look at content/renderer/BUILD.gn content/shell/test_runner/mock_webrtc_peer_connection_handler.cc https://codereview.chromium.org/2803693002/diff/80001/content/renderer/media/webrtc/rtc_rtp_contributing_source.h File content/renderer/media/webrtc/rtc_rtp_contributing_source.h (right): ...
3 years, 8 months ago (2017-04-06 14:49:38 UTC) #18
Guido Urdaneta
lgtm
3 years, 8 months ago (2017-04-06 15:51:20 UTC) #19
Guido Urdaneta
On 2017/04/06 15:51:20, Guido Urdaneta wrote: > lgtm lgtm after discussing offline
3 years, 8 months ago (2017-04-06 15:57:48 UTC) #20
Guido Urdaneta
Sorry, that last comment was for another CL, but this lgtm anyway.
3 years, 8 months ago (2017-04-06 15:58:47 UTC) #21
Taylor_Brandstetter
https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp File third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp (right): https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp#newcode29 third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp:29: m_receiver->updateSourcesIfNeeded(); On 2017/04/06 11:10:15, hbos_chromium wrote: > On 2017/04/06 ...
3 years, 8 months ago (2017-04-06 20:34:41 UTC) #22
foolip
lgtm https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp File third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp (right): https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp#newcode29 third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp:29: m_receiver->updateSourcesIfNeeded(); On 2017/04/06 20:34:41, Taylor_Brandstetter wrote: > On ...
3 years, 8 months ago (2017-04-07 06:49:51 UTC) #23
jochen (gone - plz use gerrit)
lgtm with nit https://codereview.chromium.org/2803693002/diff/120001/content/renderer/media/webrtc/rtc_rtp_contributing_source.h File content/renderer/media/webrtc/rtc_rtp_contributing_source.h (right): https://codereview.chromium.org/2803693002/diff/120001/content/renderer/media/webrtc/rtc_rtp_contributing_source.h#newcode28 content/renderer/media/webrtc/rtc_rtp_contributing_source.h:28: }; disallow copy & assign
3 years, 8 months ago (2017-04-07 07:06:55 UTC) #24
hbos_chromium
Sweet, I'll land this as soon as https://codereview.webrtc.org/2770233003/ has landed and rolled into chromium. https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpContributingSource.cpp ...
3 years, 8 months ago (2017-04-07 08:18:52 UTC) #25
Taylor_Brandstetter
https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp File third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp (right): https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp#newcode57 third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp:57: // the cache valid until the next iteration of ...
3 years, 8 months ago (2017-04-07 17:07:46 UTC) #26
foolip
https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp File third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp (right): https://codereview.chromium.org/2803693002/diff/60001/third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp#newcode57 third_party/WebKit/Source/modules/peerconnection/RTCRtpReceiver.cpp:57: // the cache valid until the next iteration of ...
3 years, 8 months ago (2017-04-10 07:42:34 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2803693002/160001
3 years, 8 months ago (2017-04-10 08:07:00 UTC) #34
commit-bot: I haz the power
Committed patchset #8 (id:160001) as https://chromium.googlesource.com/chromium/src/+/7a16f508ad712bc38ff72e979dd5155a4015c320
3 years, 8 months ago (2017-04-10 09:18:18 UTC) #37
hbos_chromium
3 years, 8 months ago (2017-04-10 12:01:52 UTC) #38
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:160001) has been created in
https://codereview.chromium.org/2813443003/ by hbos@chromium.org.

The reason for reverting is: The dependent CL was reverted due to suspected of:
https://bugs.chromium.org/p/webrtc/issues/detail?id=7465.

Powered by Google App Engine
This is Rietveld 408576698