New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 777617 link

Starred by 17 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug


Sign in to add a comment

Support RTCRtpTransceiver (transceiver)

Project Member Reported by hbos@chromium.org, Oct 23 2017

Issue description

And all the associated behaviors, see
https://rawgit.com/w3c/webrtc-pc/master/webrtc.html#dom-rtcrtptransceiver

This is blocked on webrtc work.
 

Comment 1 by hbos@chromium.org, Oct 23 2017

Blocking: 777619

Comment 2 by hbos@chromium.org, Jan 17 2018

Cc: deadbeef@chromium.org steveanton@chromium.org
Labels: -Pri-3 Pri-2
I think we should start to work on this on our side now. It's on my task list to write a doc once I've cleared up some things.

Comment 3 by hta@webrtc.org, Feb 15 2018

Is this something that we should hide in the API until Unified Plan is released, since it has different semantics in Unified Plan and Plan B?

Comment 4 by hta@webrtc.org, Feb 15 2018

If so, we should mark this as "blocked on Unified Plan". We can land the API behind the same experimental flag as the UP flipper.

Comment 5 by hbos@chromium.org, Feb 15 2018

Blockedon: 799030
Blocked on unified plan, or unified plan blocked on this? :) Hmm.

Yes this should probably be blocked on unified plan because otherwise we end up with multiple senders/receivers per transceiver which is not how the RTCRtpTransceiver interface looks, and I don't see any value in exposing getTransceivers() with Plan B.

Comment 6 by hbos@chromium.org, Feb 15 2018

On the other hand I don't think we should expose Unified Plan without transceivers, so could be blocked on each other - work in parallel that both need to be finished before changing default.

Comment 7 by hbos@chromium.org, Feb 15 2018

(Other than behind flag I mean)

Comment 8 by hbos@chromium.org, Feb 20 2018

Blocking: -777619

Comment 9 by hbos@chromium.org, Mar 14 2018

Blocking: 799030

Comment 10 by hbos@chromium.org, Mar 14 2018

Blocking: 697064

Comment 11 by hbos@chromium.org, May 9 2018

Status: Started (was: Assigned)

Comment 12 by hbos@chromium.org, May 9 2018

Labels: M-68 M-69
Working for M-68, but not a lot of time so M-69 is more realistic. We'll see in the coming week how it pans out.

The plan is only to support transceivers when Unified Plan mode is on. Switching the default from Plan B to Unified Plan will take longer time, so transceivers will be shipped before available by a default-configured RTCPeerConnection. That will be different bug and Intent to Ship.

Comment 13 by hbos@chromium.org, May 18 2018

Labels: -M-68
I've got this "mostly" working locally (https://chromium-review.googlesource.com/c/chromium/src/+/1025771), but with a lot of things that needs fixing before landing.

There's no way this is all getting done for the cut next week, so M-69 is the safe bet.
Awesome :D

Comment 15 by hbos@chromium.org, May 30 2018

Blocking: 465349

Comment 16 by hbos@chromium.org, May 30 2018

Blocking: 845149
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fbdd17fbdbafd9979da60c0f898c548109fae0e7

commit fbdd17fbdbafd9979da60c0f898c548109fae0e7
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jun 07 12:00:42 2018

Improve RTCPeerConnection-setRemoteDescription-tracks.https.html tests.

Using async functions and promise_tests instead of then()-chains and
async_tests. This makes them more readable, easier to maintain and
shorter.

Replaced RTCPeerConnection-helper.js function performOffer() with
exchangeOffer()/exchangeAnswer()/exchangeOfferAnswer().

Updated tests that were performing multiple offers to perform a full
offer/answer exchange whenever there were future offers to be made.
Previously it would perform half of an offer/answer cycle before
starting the next offer/answer, which under Unified Plan could lead to
some unexpected failures.

TBR=guidou@chromium.org

Bug:  777617 
Change-Id: Ib0305d55af5aef7f49b5418d4ba44ded9c84d5c6
Reviewed-on: https://chromium-review.googlesource.com/1082434
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565234}
[modify] https://crrev.com/fbdd17fbdbafd9979da60c0f898c548109fae0e7/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-helper.js
[modify] https://crrev.com/fbdd17fbdbafd9979da60c0f898c548109fae0e7/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https-expected.txt
[modify] https://crrev.com/fbdd17fbdbafd9979da60c0f898c548109fae0e7/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html
[modify] https://crrev.com/fbdd17fbdbafd9979da60c0f898c548109fae0e7/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d3db6bcae8058309f0a798a3f4d166392d9cb7eb

commit d3db6bcae8058309f0a798a3f4d166392d9cb7eb
Author: Henrik Boström <hbos@chromium.org>
Date: Mon Jun 11 12:24:54 2018

nit wpt/webrtc/: Use assert_array_equals, not assert_equals

In RTCPeerConnection-setRemoteDescription-offer.html.

Bug:  777617 
Change-Id: I43b579b6ca0cbc0e950a379dc519fac95ac18f58
Reviewed-on: https://chromium-review.googlesource.com/1095189
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565971}
[modify] https://crrev.com/d3db6bcae8058309f0a798a3f4d166392d9cb7eb/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-offer.html

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5ffbeb6415d1aa747041e312d5222d67cee7a93

commit b5ffbeb6415d1aa747041e312d5222d67cee7a93
Author: Henrik Boström <hbos@chromium.org>
Date: Tue Jun 12 10:00:58 2018

Fix errors external/wpt/RTCPeerConnection-removeTrack.https.html.

This is in preparation for RTCRtpTransceiver/Unified Plan support.

"Calling removeTrack with valid sender should set sender.track to null"
  Asserting that direction changes from 'sendrecv' to 'recvonly', this
  is explicit in the spec[1].

"Calling removeTrack with currentDirection blah should set direction to
 blah"
  The tests that meant to set up currentDirection to be 'sendrecv' or
  'recvonly' before removeTrack() were incorrect. Tests updated to set
  up currentDirection correctly. Also updated them to use async/await
  because that's much nicer.

These all fail because we don't have transceivers yet, but when running
these changes in the RTCRtpTransceiver WIP CL[2], they all pass.

[1] See step 10 of
    https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-removetrack
[2] https://chromium-review.googlesource.com/c/chromium/src/+/1025771/

Bug:  777617 
Change-Id: Ie3c077d14ea30038a06a98ecbeea475ac824dd9c
Reviewed-on: https://chromium-review.googlesource.com/1095275
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566366}
[modify] https://crrev.com/b5ffbeb6415d1aa747041e312d5222d67cee7a93/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https.html

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3e026f38ccc2de905618c2dcf7a7f3602f944c1

commit c3e026f38ccc2de905618c2dcf7a7f3602f944c1
Author: Henrik Boström <hbos@chromium.org>
Date: Tue Jun 12 11:14:49 2018

nit wpt/webrtc/: Fix missing argument in RTCPeerConnection-getStats.

TBR=guidou@chromium.org
NOTRY=True

Bug:  777617 
Change-Id: Ia6e81728d3dfac35c9b1724252e7539b3aae181a
Reviewed-on: https://chromium-review.googlesource.com/1096944
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566381}
[modify] https://crrev.com/c3e026f38ccc2de905618c2dcf7a7f3602f944c1/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-getStats.https.html

Project Member

Comment 21 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6cda5153d30766efad712a5b148baab90e4c041c

commit 6cda5153d30766efad712a5b148baab90e4c041c
Author: Henrik Boström <hbos@chromium.org>
Date: Tue Jun 12 15:38:12 2018

Fix errors in external/wpt/RTCDTMFSender-insertDTMF.https.html.

This is in preparation for RTCRtpTransceiver/Unified Plan support.

Updated tests:
  insertDTMF() should throw InvalidStateError if
  transceiver.currentDirection is [recvonly/inactive]

Just like the tests fixed in
https://chromium-review.googlesource.com/c/chromium/src/+/1095275, the
tests were not set up properly.

Fixed the tests so that currentDirection is what it is supposed to be
according to the test description. Also updated the tests to use
async/await.

These tests will pass when we support RTCRtpTransceiver (WIP CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1025771).

Bug:  777617 
Change-Id: I59eab4e4a15bb82e2dabe68d56f6d55b0e380e75
Reviewed-on: https://chromium-review.googlesource.com/1097083
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566432}
[modify] https://crrev.com/6cda5153d30766efad712a5b148baab90e4c041c/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt
[modify] https://crrev.com/6cda5153d30766efad712a5b148baab90e4c041c/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https.html

Comment 22 by hbos@webrtc.org, Jun 13 2018

Blockedon: webrtc:8734

Comment 23 by hbos@webrtc.org, Jun 13 2018

Blockedon: webrtc:9401
Project Member

Comment 24 by bugdroid1@chromium.org, Jun 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/199c6b4edf10033bed38333393e769018d7f1058

commit 199c6b4edf10033bed38333393e769018d7f1058
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jun 14 15:40:47 2018

Delete WebRtcRtpBrowserTest.

Tests that can be expressed as LayoutTests (preferreably Web Platform
Tests) rather than browser tests should. Browser tests are slow to run
and a maintenance burden.

The WebRtcRtpBrowserTests are mainly testing behaviors of adding and
removing tracks/streams and asserting that the expected outcomes.

- The essentials of these tests are already covered in
  external/wpt/webrtc/ which we are actively maintaining and updating in
  preparation for Unified Plan and RTCRtpTransceiver support. Almost all
  of it is overlapping.
- The WebRtcRtpBrowserTests were not written to test behaviors, but
  functions. Each test is asserting a lot of unrelated behaviors.
- When running with Unified Plan/RTCRtpTransceiver (WIP CL:
  https://chromium-review.googlesource.com/c/chromium/src/+/1025771)
  these tests start failing. I started updating these tests but the
  failures were due to Plan B assumptions (problems in the tests, not in
  the implementation).
- Debugging this part of the code is slow and cumbersome.
- I won't miss any of these tests.

Conclusion: Nuke it.

Bug: 773472,  777617 
Change-Id: I099992f1783914d4fb1d5c2d952ff977ec4cc513
Reviewed-on: https://chromium-review.googlesource.com/1100891
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567283}
[modify] https://crrev.com/199c6b4edf10033bed38333393e769018d7f1058/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
[modify] https://crrev.com/199c6b4edf10033bed38333393e769018d7f1058/chrome/browser/media/webrtc/webrtc_browsertest_base.h
[delete] https://crrev.com/be8344a8ca77a9e0f9e7af0eab9d4a85ead9c36b/chrome/browser/media/webrtc/webrtc_rtp_browsertest.cc
[modify] https://crrev.com/199c6b4edf10033bed38333393e769018d7f1058/chrome/test/BUILD.gn
[delete] https://crrev.com/be8344a8ca77a9e0f9e7af0eab9d4a85ead9c36b/chrome/test/data/webrtc/peerconnection_rtp.js
[modify] https://crrev.com/199c6b4edf10033bed38333393e769018d7f1058/chrome/test/data/webrtc/webrtc_jsep01_test.html

Project Member

Comment 25 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e45eb0665bfb9216c8508e1fa3ed3cdffcda33af

commit e45eb0665bfb9216c8508e1fa3ed3cdffcda33af
Author: Henrik Boström <hbos@chromium.org>
Date: Fri Jun 15 09:39:22 2018

Fix/improve external/wpt/webrtc/RTCPeerConnection-addTrack.https.html.

Updated all tests to use promise_tests(), async/await and added cleanup
logic for pc.close() in tests that did not already have that.

Replaced broken test:
  'addTrack with existing sender with null track, same kind, and
   sendrecv direction should create new sender'

With:
  'addTrack with existing sender that has not been used to send should
   reuse the sender',
  'addTrack with existing sender that has been used to send should
   create new sender'

Per-spec[1], if a sender has not been used to send (currentDirection
never having had the value 'sendrecv' or 'sendonly') it may be reused,
so the original test was incorrect.

The new tests make sure that in the original scenario the sender IS
reused, and in the case where the sender has been used a new sender is
created instead of reusing, even if the original sender is no longer
sending.

In Unified Plan[2], all tests PASS.

[1] Step 7 of
    https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtrack
[2] Work-in-Progress CL
    https://chromium-review.googlesource.com/c/chromium/src/+/1025771

Bug:  777617 
Change-Id: I2b07bc03d84add30999e0e017bf008fbc9e9f89a
Reviewed-on: https://chromium-review.googlesource.com/1100828
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567592}
[modify] https://crrev.com/e45eb0665bfb9216c8508e1fa3ed3cdffcda33af/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[modify] https://crrev.com/e45eb0665bfb9216c8508e1fa3ed3cdffcda33af/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTrack.https.html
[modify] https://crrev.com/e45eb0665bfb9216c8508e1fa3ed3cdffcda33af/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt

Comment 26 by hbos@chromium.org, Jun 21 2018

Blocking: 697059

Comment 27 by hbos@chromium.org, Jun 27 2018

Blocking: 857003

Comment 28 by hbos@chromium.org, Jun 27 2018

Blocking: 857004
Project Member

Comment 29 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e95ed83d6fd0bc275f8fded449c61374c147f9eb

commit e95ed83d6fd0bc275f8fded449c61374c147f9eb
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jun 28 15:20:18 2018

Update PeerConnectionTracker to track transceiver updates.

The PeerConnectionTracker logs events relating to an RTCPeerConnection
(APIs called, events firing, tracks added or removed) and lists them in
chrome://webrtc-internals.

Ever since the days of addStream()/removeStream(), the tracker has
listed a local or remote stream being added or removed as an event.
These APIs are no longer in the spec and are in fact implemented on top
of the spec-compliant addTrack()/removeTrack().

Prior to this CL, the tracker reported a stream being added by any means
as "addStream" and removed as "removeStream", which is misleading
because they may have been added through other APIs.

In preparation for Unified Plan, which expresses media sections in terms
of transceivers (sender-receiver pairs), the PeerConnectionTracker is
updated to more accurately express what is going on. In Unified Plan you
may for example add a transceiver that does not have a track yet or
receive a track by reusing an already existing transceiver. You may also
send the same track multiple times, or send/receive tracks that don't
belong to any stream or that belongs to multiple streams. This is all
described by the sender/receiver, not by any set of "local" or "remote
streams". In Unified Plan, because receiving tracks are created
alongside transceivers, often before being used if ever used, speaking
of tracks being "added" or "removed" is confusing.

Instead of "addStream"/"removeStream" we get
"[sender/receiver/transceiver][Added/Modified/Removed]".
The chrome://webrtc-internals log shows state of the sender or receiver
(TODO: or in Unified Plan, the transceiver) that was added, updated or
removed.

This will continue to make sense moving forward, and removes the
dependency on streams, which is a RTCRtpTransceiver blocker because
Unified Plan uses stream IDs, not streams.

Bug: 810708,  777617 
Change-Id: I47dad2cb0b754c4ab8fb47ca5c7da3e0f33c6072
Reviewed-on: https://chromium-review.googlesource.com/1117063
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571129}
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/browser/resources/media/peer_connection_update_table.js
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/peer_connection_tracker.h
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/third_party/blink/public/platform/web_rtc_rtp_sender.h
[modify] https://crrev.com/e95ed83d6fd0bc275f8fded449c61374c147f9eb/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Jun 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46b73d21ff4348ba84f77df16a294db7b57b9079

commit 46b73d21ff4348ba84f77df16a294db7b57b9079
Author: Henrik Boström <hbos@chromium.org>
Date: Fri Jun 29 08:56:05 2018

Update external/wpt/webrtc/RTCRtpParameters* tests.

This is in preparation for get/setParameters[1] and
RTCRtpTransceiver[2].

Tests are updated to use promise_test and async/await to make them
easier to write and to execute sequentially.

Tests are updated to set up a call before getParameters() because many
parameters are defined as "that has been negotiated". If we want to test
what is returned before negotiation we should add that as separate
tests. For now, this is necessary for the tests to run on [1][2].

Some tests are removed because they no longer reflect the spec.

Because get/setParameters() and RTCRtpTransceiver has not landed yet,
the tests are still expected to fail.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1102436
[2] https://chromium-review.googlesource.com/c/chromium/src/+/1025771

Bug: 803494,  777617 
Change-Id: I3f14a37925837576a602d91bb67e48181c56a946
Reviewed-on: https://chromium-review.googlesource.com/1102502
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571430}
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-codecs-expected.txt
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-codecs.html
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-encodings-expected.txt
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-encodings.html
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-helper.js
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-transactionId-expected.txt
[modify] https://crrev.com/46b73d21ff4348ba84f77df16a294db7b57b9079/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-transactionId.html

Project Member

Comment 31 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af5c23c75d00f6513d9e823c46a3a3ddfdc949e4

commit af5c23c75d00f6513d9e823c46a3a3ddfdc949e4
Author: Henrik Boström <hbos@chromium.org>
Date: Wed Jul 04 09:18:48 2018

MediaStreamTrackMetrics simplified to observe tracks, not streams.

Prior to this CL, MediaStreamTrackMetrics hooked up to streams, tracking
not only all of the streams' tracks (CONNECTED/DISCONNECTED) but also
any tracks that might be added or removed from the stream.

This has not been necessary to do for a long time, since the RTP Media
APIs are track-based, not stream-based, and the legacy
addStream()-streams are shimmed on top of addTrack(). Adding a track to
such a stream causes addTrack(), and there is no need for the
MediaStreamTrackMetrics class to observe the streams.

With this CL, MediaStreamTrackMetrics only care about tracks (direction,
kind and id). This also covers the Unified Plan use case of tracks not
necessarily belonging to any stream.

There is room for improvements in this area, such as counting tracks
added through replaceTrack(), but that should be handled separately.
This CL removes the dependency on streams which unblocks
RTCRtpTransceiver/Unified Plan work.

Bug: 810708,  777617 
Change-Id: I347e729560717be83b7b1a3571f25a8497d65e46
Reviewed-on: https://chromium-review.googlesource.com/1117691
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572521}
[modify] https://crrev.com/af5c23c75d00f6513d9e823c46a3a3ddfdc949e4/content/renderer/media/webrtc/media_stream_track_metrics.cc
[modify] https://crrev.com/af5c23c75d00f6513d9e823c46a3a3ddfdc949e4/content/renderer/media/webrtc/media_stream_track_metrics.h
[modify] https://crrev.com/af5c23c75d00f6513d9e823c46a3a3ddfdc949e4/content/renderer/media/webrtc/media_stream_track_metrics_unittest.cc
[modify] https://crrev.com/af5c23c75d00f6513d9e823c46a3a3ddfdc949e4/content/renderer/media/webrtc/rtc_peer_connection_handler.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cca7122dd8e76a35e5ec1a5e161d3cc92f231350

commit cca7122dd8e76a35e5ec1a5e161d3cc92f231350
Author: Henrik Boström <hbos@chromium.org>
Date: Wed Jul 04 11:17:05 2018

Allow track adapters and adapter refs to be initialized explicitly.

Normally they are created on the signaling thread and initialized in a
PostTask to the main thread, so they are implicitly initialized if you
don't do anything. This is still true.

This CL introduced InitializeOnMainThread() which can be called
explicitly, meaning you don't have to wait for the posted task to run.

This is only relevant if the main thread is doing a blocking call to
the webrtc signaling thread and obtains the adapter earlier than is
possible with a PostTask. This needs to be doable when we have
transceivers and remote tracks are created when you synchronously add
tracks (addTrack, addStream, addTransceiver).

Bug:  777617 
Change-Id: I22400466acb925221dff1a6f4db4eeb333936b66
Reviewed-on: https://chromium-review.googlesource.com/1113756
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572537}
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.h
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter_map.cc
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter_map.h
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter_map_unittest.cc
[modify] https://crrev.com/cca7122dd8e76a35e5ec1a5e161d3cc92f231350/content/renderer/media/webrtc/webrtc_media_stream_track_adapter_unittest.cc

Project Member

Comment 33 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f23ab64af3c7e426c11973385ef6f0d1380d12c3

commit f23ab64af3c7e426c11973385ef6f0d1380d12c3
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 05 08:04:44 2018

RtpSenderState: Surfacing states between threads in a separate class.

In Unified Plan, it will be necessary to surface sender, receiver and
transceiver states from the signaling thread to the main thread both
synchronously and asynchronously. To make ownership clear, unify code
paths and allow decoupling of surfacing state information possible, the
states are put in a separate class.

RtpReceiverState, RtpTransceiverState and "state surfacer" helper class
will be added in follow-up CLs. This will allow both synchronous APIs
(e.g. addTrack/addTransceiver) which use blocking calls and
asynchronous APIs (e.g. setRemoteDescription) which use PostTask to get
the latest sender-receiver-transceiver states and initialize them
(including explicit initialization of track adapters) in time for
exposing them in blink (JavaScript).

This is outlined here:
https://docs.google.com/document/d/1HuNGPQuRM9uDFt4Oh3QdxmkEHvfHo1DogkD-pVTuOJM/edit?usp=sharing

This CL introduces RtpSenderState, and refactors
RTCRtpSender::RTCRtpSenderInternal to use it. The follow-up,
RtpReceiverState, will use the same design pattern.

Additionally, this CL makes content senders stop relying on streams and
instead uses stream IDs. Updated RTCPeerConnectionHandler to use the
stream ID-based AddTrack(), allowing third_party/webrtc to remove the
old AddTrack() API that still used streams.

Bug:  777617 , 810708
Change-Id: I3ac8dabe160e7eb1f9c3b3ac1882dc77b0be2a2e
Reviewed-on: https://chromium-review.googlesource.com/1118558
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572733}
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/BUILD.gn
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/mock_peer_connection_impl.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/mock_peer_connection_impl.h
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/content/renderer/media/webrtc/rtc_rtp_sender_unittest.cc
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/third_party/blink/public/platform/web_rtc_rtp_sender.h
[modify] https://crrev.com/f23ab64af3c7e426c11973385ef6f0d1380d12c3/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505

commit ae070c77aae47dabe7bd1cf2ee14e68f53f5f505
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 05 08:39:39 2018

RtpReceiverState and Chrome to stop relying on WebRTC MediaStreams.

RtpReceiverState allows surfacing states between third_party/webrtc on
the signaling thread and conten/blink on the main thread in a separate
helper class that will enable doing this more easily in different code
paths, both synchronous and asynchronous ones. It unblocks transceiver
work and will make onion souping away the content receiver layer easy.
  See RtpSenderState for more information, this is the same thing but
for receivers:
https://chromium-review.googlesource.com/c/chromium/src/+/1118558

Additionally, this CL removes our dependency on third_party/webrtc's
webrtc::MediaStreamInterface, isolating stream creation and management
to the blink layer. This simplifies things greatly, and will allow us
to remove the WebRtcMediaStreamAdapter[Map] in follow-up CLs and makes
the updating of receiver's streams much easier and straight-forward.
No more logic spread out over different callbacks with regards to
streams.

MediaStream::[Add/Remove]RemoteTrack() added, allowing adding/removing
tracks using blink-layer tracks as argument rather than web components,
allowing us to move away from this old web wiring. When a track is
added/removed as "remote" it means it was not added by the
addTrack()/removeTrack() JavaScript APIs, so associated events (e.g.
"onaddtrack", "onremovetrack") should fire on the stream.

This CL also does misc drive-by changes, like renaming
Did[Add/Remove]RemoteTrack to the more accurately named
Did[Add/Remove]Receiver, and removing some already-disabled
RTCPeerConnectionHandler unittests that we don't want to maintain
(https://crbug.com/788659).

Bug:  777617 , 810708, 788659
Change-Id: I5c187c6346472aaecf6bc6fe4710e415b2a44902
Reviewed-on: https://chromium-review.googlesource.com/1122216
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572738}
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/peer_connection_tracker.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_rtp_receiver.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_rtp_receiver.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/rtc_rtp_receiver_unittest.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/webrtc_set_remote_description_observer.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/webrtc_set_remote_description_observer.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/content/renderer/media/webrtc/webrtc_set_remote_description_observer_unittest.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/public/platform/web_rtc_rtp_receiver.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/renderer/modules/mediastream/media_stream.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/renderer/modules/mediastream/media_stream.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/ae070c77aae47dabe7bd1cf2ee14e68f53f5f505/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc

Project Member

Comment 35 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d845d8e75d949df8503587ae06272be20f549f4b

commit d845d8e75d949df8503587ae06272be20f549f4b
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 05 10:24:18 2018

RtpTransceiverState and TransceiverStateSurfacer added.

The RtpTransceiverState is the transceiver-equivalent of
RtpSenderState[1] and RtpReceiverState[2]. Because the transceiver is a
sender-receiver pair, the RtpTransceiverState contains RtpSenderState
and RtpReceiverState. This CL does not add the transceiver yet, but
verifies the states can be initialized in unittests. More transceiver
focused tests will be added when transceivers are added.

This CL also adds the TransceiverStateSurfacer. This is a helper class
that makes it easy to "surface" RtpTransceiverState, that is it takes
care of initializing the states on the signaling thread from the a set
of webrtc::RtpTransceiverInterfaces, and lets you obtain the
initialized corresponding RtpTransceiverState objects on the main
thread.

The surfacer is designed to be used by both blocking operations, such as
addTrack() and addTransceiver(), and non-blocking operations that return
to the main thread by PostTask, such as setLocalDescription() and
setRemoteDescription(). No matter how we end up on the main thread,
ObtainStatesOnMainThread() is used to get the state information,
allowing us to create content layer senders, receivers and transceivers
from the state objects.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1118558
[2] https://chromium-review.googlesource.com/c/chromium/src/+/1122216

Bug:  777617 
Change-Id: I3d9cc505bd62528d72abda88f2b563168d765466
Reviewed-on: https://chromium-review.googlesource.com/1122868
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572752}
[modify] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/BUILD.gn
[modify] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/mock_peer_connection_impl.cc
[modify] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/mock_peer_connection_impl.h
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/rtc_rtp_transceiver.cc
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/rtc_rtp_transceiver.h
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/rtc_rtp_transceiver_unittest.cc
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/transceiver_state_surfacer.cc
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/transceiver_state_surfacer.h
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/transceiver_state_surfacer_unittest.cc
[add] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/renderer/media/webrtc/webrtc_util.h
[modify] https://crrev.com/d845d8e75d949df8503587ae06272be20f549f4b/content/test/BUILD.gn

Project Member

Comment 36 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ff1f8c1494a72b52127af11ab74e3103b69b920

commit 7ff1f8c1494a72b52127af11ab74e3103b69b920
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 05 17:12:11 2018

Rename MediaStream add/remove track methods to make things more clear.

The MediaStream, MediaStreamDescriptorClient and MediaStreamDescriptor
have some confusingly similar names: addTrack(), AddRemoteTrack(),
AddTrackByComponent(), etc. The "-ByComponent()" methods are the same
thing as the "-RemoteTrack()" methods except a MediaStreamTrack has to
be created for the components. The difference between adding a track
and adding a "remote track" is the "remote tracks" fire events. This is
not clear from the naming and other C++ code might want to call these
methods without the track necessarily being "remote". Generally
speaking, if the track was added by JavaScript application (addTrack)
then onaddtrack shouldn't fire, but if it was created by other means it
should.

The main difference between the different versions is one fires
onaddtrack/onremovetrack events and the other doesn't. The new names
are:
- addTrack() - the JavaScript method, same as before.
- AddTrackAndFireEvents() - previously AddRemoteTrack().
- AddTrackByComponentAndFireEvents() - previously AddTrackByComponent().

Bug:  777617 
Change-Id: Ic31a891ca44d9b33b4a15be9cd7d8f728fe3e6d2
Reviewed-on: https://chromium-review.googlesource.com/1126387
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572819}
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/modules/mediacapturefromelement/html_media_element_capture.cc
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/modules/mediastream/media_stream.cc
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/modules/mediastream/media_stream.h
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/platform/mediastream/media_stream_descriptor.cc
[modify] https://crrev.com/7ff1f8c1494a72b52127af11ab74e3103b69b920/third_party/blink/renderer/platform/mediastream/media_stream_descriptor.h

Project Member

Comment 37 by bugdroid1@chromium.org, Jul 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7c278f5801752c2c194ee361361cad49c6bd1f6

commit e7c278f5801752c2c194ee361361cad49c6bd1f6
Author: Henrik Boström <hbos@chromium.org>
Date: Fri Jul 13 16:41:52 2018

Content-layer transceiver added.

WebRTCRtpTransceiver added for surfacing transceivers in future CLs.
Implementation added in content and test coverage added.

The content::RTCRtpTransceiver is implemented with a similar design as
content::RTCRtp[Sender/Receiver]:
- It has an "internal" ref counted class, allowing multiple
  WebRTCRtpTransceivers to represent the same webrtc layer transceiver.
- The "state" is in a separate class, allowing surfacing transceiver
  state information separately from implementation, and use of
  TransceiverStateSurfacer.

Stop(), blink-layer RTCRtpTransceiver and Unified Plan usage will be
added in follow-up CLs.

This CL also removes all dependencies on
webrtc_media_stream_adapter_map.[h/cc] unblocking its deletion.

Bug:  777617 
Change-Id: Icbc4a6b53ef57df8da6bc10e9e432644368ba5dd
Reviewed-on: https://chromium-review.googlesource.com/1131475
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574945}
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/mock_peer_connection_impl.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/mock_peer_connection_impl.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_receiver.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_receiver.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_receiver_unittest.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_sender_unittest.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_transceiver.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_transceiver.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/rtc_rtp_transceiver_unittest.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/transceiver_state_surfacer_unittest.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/webrtc_set_remote_description_observer_unittest.cc
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/content/renderer/media/webrtc/webrtc_util.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/third_party/blink/public/BUILD.gn
[add] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/third_party/blink/public/platform/web_rtc_rtp_transceiver.h
[modify] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/third_party/blink/renderer/platform/BUILD.gn
[add] https://crrev.com/e7c278f5801752c2c194ee361361cad49c6bd1f6/third_party/blink/renderer/platform/exported/web_rtc_rtp_transceiver.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1877f022d1b8b9532da1b26e288211345ff0451

commit b1877f022d1b8b9532da1b26e288211345ff0451
Author: Henrik Boström <hbos@chromium.org>
Date: Mon Jul 16 09:39:04 2018

Remove WebRtcMediaStreamAdapterMap and WebRtcMediaStreamAdapter.

These classes were used to create and map blink-layer representations of
media streams with webrtc-layer representations of media streams.

The life-cycle of these streams were for some time complicated,
ownership was shared through reference counting between legacy stream
sets, senders and receivers. "GetOrCreate" was necessary in case the
stream already existed due to legacy APIs and threading restrictions
were different depending on if the stream was local or remote, with
destructor having to run on a different thread than it was created.
Because of the threading restrictions, ownership passing was made
explicit with "AdapterRef" classes, std::unique_ptr<>s and
ShallowCopy(). This is not very conventional or pretty.
The multi-thread usage required mutexes and this class has been
responsible for a couple of deadlock bugs and flaky tests due to
thread jumps in the destructor.

As of recently, stream objects only exist in the blink layer, and the
content/webrtc layer's notion of streams are just the stream IDs. CLs
listed prior in the referenced bugs have replaced function calls to
third_party/webrtc to use the "std::string stream_id"-versions.

With these classes no longer needed, we happily delete them.

For the time being, WebRtcMediaStreamTrackAdapter[Map] is still needed,
but this can likely be simplified during the Onion Souping.

TBR=pfeldman@chromium.org

Bug:  777617 , 756436
Change-Id: I629597181fcd4eca286887cf1ff1ebbb3f08c64e
Reviewed-on: https://chromium-review.googlesource.com/1131499
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575212}
[modify] https://crrev.com/b1877f022d1b8b9532da1b26e288211345ff0451/content/renderer/BUILD.gn
[modify] https://crrev.com/b1877f022d1b8b9532da1b26e288211345ff0451/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter.h
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter_map.cc
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter_map.h
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter_map_unittest.cc
[delete] https://crrev.com/1de58a363448c4e44e33e316d08968a373201c3f/content/renderer/media/webrtc/webrtc_media_stream_adapter_unittest.cc
[modify] https://crrev.com/b1877f022d1b8b9532da1b26e288211345ff0451/content/test/BUILD.gn

Project Member

Comment 39 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19e4e8e6a4ad03679359f7e87fef0903a81cb088

commit 19e4e8e6a4ad03679359f7e87fef0903a81cb088
Author: Henrik Boström <hbos@chromium.org>
Date: Mon Jul 16 11:44:38 2018

Surface Plan B "sender-only transceivers" in prep for Unified Plan.

WebRTCRtpTransceiver gets sender-only and receiver-only varieties such
that RTCPeerConnectionHandler::AddTrack() can return
webrtc::RTCErrorOr<std::unique_ptr<WebRTCRtpTransceiver>>.

This CL...
- Adds ImplementationType() to WebRTCRtpTransceiver.
- Adds RTCRtpSenderOnlyTransceiver.
- Adds RTCRtpReceiverOnlyTransceiver.
- Update AddTrack() to use TransceiverStateSurfacer and the new classes
  and to return "error or transceiver".

This means that...
- We surface third_party/webrtc errors to blink.
- The return value is compatible with Unified Plan's AddTrack() which
  adds a transceiver (sender and receiver, not just sender).
- The new codepath uses TransceiverStateSurfacer, making it trivial to
  update AddTrack() to surface the full transceiver in Unified Plan in
  follow-up CLs.
  Prior to this CL the codepath relied on implicit PROXY jumps to the
  signaling thread which made it impossible to create transceivers,
  since these have to be created on the signaling thread.

Updating the AddTrack() codepath to surface transceivers in Unified Plan
is now trivial. A follow-up CL will update the SetLocalDescription() and
SetRemoteDescription() codepaths to use TransceiverStateSurfacer as
well.

TBR=foolip@chromium.org

Bug:  777617 
Change-Id: I2ec2739fbcaa49bdcb8c94670403315147aba589
Reviewed-on: https://chromium-review.googlesource.com/1133381
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575227}
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_receiver.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_receiver.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_transceiver.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/rtc_rtp_transceiver.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/content/renderer/media/webrtc/transceiver_state_surfacer.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/third_party/blink/public/platform/web_rtc_rtp_transceiver.h
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/19e4e8e6a4ad03679359f7e87fef0903a81cb088/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Project Member

Comment 40 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96c9d87a3ea701175b1f499809b8548198c585a7

commit 96c9d87a3ea701175b1f499809b8548198c585a7
Author: Henrik Boström <hbos@chromium.org>
Date: Tue Jul 17 12:44:28 2018

Make hbos@ OWNER of WebRTC related files in platform.

Make hbos@...
1. per-file web_rtc_* OWNER of
   third_party/blink/renderer/platform/exported

   hbos@ is already per-file web_rtc_* OWNER of
   third_party/blink/public/platform. This is where the header files of
   interfaces are placed, but often times the .cc files which are placed
   in "exported" need to be modified too for things like out-of-line
   constructor and destructor.

2. per-file testing_platform_support_with_web_rtc.* OWNER of
   third_party/blink/renderer/platform/testing/.
   Any substantial changes in WebRTC requires updating some "platform"
   interface and then these files have to be updated to update the
   mocks.

We frequently have to bring in non-webrtc reviewers for the sake of
stamping some minor webrtc interface being updated. The webrtc reviewers
already do a good job of reviewing these things, better to make a webrtc
owner OWN these few files too.

NOTRY=True

Bug:  777617 
Change-Id: Ie0e5dbd43d93df89524c50bed3683f681d47778d
Reviewed-on: https://chromium-review.googlesource.com/1140063
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575615}
[add] https://crrev.com/96c9d87a3ea701175b1f499809b8548198c585a7/third_party/blink/renderer/platform/exported/OWNERS
[add] https://crrev.com/96c9d87a3ea701175b1f499809b8548198c585a7/third_party/blink/renderer/platform/testing/OWNERS

Project Member

Comment 41 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2

commit f0ef986d5fa3a34abaf9731ed933c028bb5bcee2
Author: Henrik Boström <hbos@chromium.org>
Date: Tue Jul 17 16:20:14 2018

Unify SetLocalDescription() and SetRemoteDescription().

Prior to this CL, there was a separate observer class for
SetLocalDescription() and SetRemoteDescription().

In this CL, the WebRtcSetRemoteDescriptionObserver is renamed to
WebRtcSetDescriptionObserver (to reflect it is used both for local and
remote descriptions) and the WebRtcSetDescriptionObserverHandler is
split up in a "Local" and "Remote" handler version.

WebRtcSetDescriptionObserverHandler is updated to use the
TransceiverStateSurfacer. In Plan B this is a refactoring that
shouldn't make any functional changes, but in Unified Plan this setup
will allow the creation of transceivers as well.

The RTCPeerConnectionHandler is updated to wire both local and remote
descriptions to use the same observer.
The WebRtcSetDescriptionObserverImpl takes care of adding and removing
receivers. Prior to this CL this is something we did for remote
descriptions but not local ones. Because SetLocalDescription() does not
change the set of receivers in Plan B, this should not make a
difference. But in Unified Plan, the same codepath needs to run in both
local and remote cases because in Unified Plan both
SetLocalDescription() and SetRemoteDescription() modifies the state of
transcievers. In an upcoming CL the "...ObserverImpl" will not just add
and remove receivers but also take care of updating transceivers if
Unified Plan is used.

This CL also:
- Removes RTCPeerConnectionHandler::SetLocalDescriptionRequest because
  it is not used anymore.
- Removes SessionDescriptionRequestTracker, because it doesn't do much
  and the only remaining use was in CreateSessionDescriptionRequest
  which is updated to do the equivalent of its use of the tracker.

Bug:  777617 
Change-Id: I8a5726f25764c1e57ec18e7eb96decf083fc8333
Reviewed-on: https://chromium-review.googlesource.com/1136441
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575663}
[modify] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/BUILD.gn
[modify] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/transceiver_state_surfacer.cc
[add] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/webrtc_set_description_observer.cc
[add] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/webrtc_set_description_observer.h
[add] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/renderer/media/webrtc/webrtc_set_description_observer_unittest.cc
[delete] https://crrev.com/6cd3ae44aafc6de48ea6c35a7913f836d4455677/content/renderer/media/webrtc/webrtc_set_remote_description_observer.cc
[delete] https://crrev.com/6cd3ae44aafc6de48ea6c35a7913f836d4455677/content/renderer/media/webrtc/webrtc_set_remote_description_observer.h
[delete] https://crrev.com/6cd3ae44aafc6de48ea6c35a7913f836d4455677/content/renderer/media/webrtc/webrtc_set_remote_description_observer_unittest.cc
[modify] https://crrev.com/f0ef986d5fa3a34abaf9731ed933c028bb5bcee2/content/test/BUILD.gn

Blockedon: -799030
Blocking: 864912
Project Member

Comment 44 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f644b109ca79031de0388f8a5492fff6626423e

commit 1f644b109ca79031de0388f8a5492fff6626423e
Author: Henrik Boström <hbos@chromium.org>
Date: Wed Jul 18 14:57:55 2018

Surface RTCRtpTransceiver.[[FiredDirection]] to blink.

This was recently added to webrtc::RtpTransceiverInterface.
It is added to WebRTCRtpTransceiver and the content implementations are
updated.

Also removes unimplemented WebRTCRtpTransceiver::Stop() and does some
minor refactoring.

// Already passed all the bots except an unrelated random flake on one
// bot, no need to wait for it to re-run.
NOTRY=True

Bug:  777617 
Change-Id: I845e0d369a6af5ee162ba14f78f27047f499a046
Reviewed-on: https://chromium-review.googlesource.com/1141871
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576057}
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_receiver.cc
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_receiver.h
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_transceiver.cc
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_transceiver.h
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/rtc_rtp_transceiver_unittest.cc
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/content/renderer/media/webrtc/transceiver_state_surfacer.cc
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/third_party/blink/public/platform/web_rtc_rtp_transceiver.h
[modify] https://crrev.com/1f644b109ca79031de0388f8a5492fff6626423e/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc

Project Member

Comment 45 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/637d303da219aa0ce002811b91517ef7abd98cdc

commit 637d303da219aa0ce002811b91517ef7abd98cdc
Author: Henrik Boström <hbos@chromium.org>
Date: Wed Jul 18 15:09:18 2018

SLD/SRD observer handler: Surface receivers or transceivers.

Add control to WebRtcSet[Local/Remote]DescriptionObserverHandler whether
to only surface receievers (current/Plan B behavior) or transceivers
(Unified Plan behavior).

This will be needed in a follow-up CL.

// Already passed all the bots except an unrelated random flake on one
// bot, no need to wait for it to re-run.
NOTRY=True

Bug:  777617 
Change-Id: I9cd311f9ef6e44028cb3e35457280f70a0695992
Reviewed-on: https://chromium-review.googlesource.com/1141876
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576062}
[modify] https://crrev.com/637d303da219aa0ce002811b91517ef7abd98cdc/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/637d303da219aa0ce002811b91517ef7abd98cdc/content/renderer/media/webrtc/webrtc_set_description_observer.cc
[modify] https://crrev.com/637d303da219aa0ce002811b91517ef7abd98cdc/content/renderer/media/webrtc/webrtc_set_description_observer.h
[modify] https://crrev.com/637d303da219aa0ce002811b91517ef7abd98cdc/content/renderer/media/webrtc/webrtc_set_description_observer_unittest.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e8ff9d473863681cb6018088ec581c0be719e9b

commit 1e8ff9d473863681cb6018088ec581c0be719e9b
Author: Henrik Boström <hbos@chromium.org>
Date: Wed Jul 18 19:46:12 2018

Keep track of SDP semantics, not including kDefault.

SDP semantics can be passed in to the PC as kPlanB, kUnifiedPlan or
kDefault.

This CL does the translation from kDefault to kPlanB (default) or
kUnifiedPlan (if a flag is used to overwrite the default) at
construction once and for all. This eliminates assumptions about what
kDefault may mean in different parts of the code or layers.

RTCPeerConnectionHandler is also updated to keep track of the SDP
semantics. Also passes down "sdp_semantics_requested" for the sake of
UMA counters which is the exception where we do care if "kDefault" was
used or not by the application.

This CL also updates some Plan B-only methods to DCHECK SDP semantics
or renames them to "...PlanB()".

// Bots have already been successful, skipping remaining bot which is
// inactive.
NOTRY=True

Bug:  777617 
Change-Id: If88017360fa577297796bac4faf4e7bc56bd99d0
Reviewed-on: https://chromium-review.googlesource.com/1141880
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576171}
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.cc
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[delete] https://crrev.com/e0c66ca53eba79bb27306bcee4a098ee7a0f2a48/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCCertificate-expected.txt
[delete] https://crrev.com/e0c66ca53eba79bb27306bcee4a098ee7a0f2a48/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCConfiguration-bundlePolicy-expected.txt
[delete] https://crrev.com/e0c66ca53eba79bb27306bcee4a098ee7a0f2a48/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCConfiguration-iceServers-expected.txt
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/1e8ff9d473863681cb6018088ec581c0be719e9b/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Project Member

Comment 47 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8

commit 118eb6a30b20a0d6ec4584b37e0934a3a987c1e8
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 19 00:49:55 2018

RTCPeerConnectionHandler: Unified Plan implementation.

This implements creating, updating and surfacing transceivers from the
content layer. This is in preparation for the blink layer to implement
its part, but split up for the sake of reviewability. For the big
picture, see:
https://chromium-review.googlesource.com/c/chromium/src/+/1138615

Because the blink layer is needed to surface the transceivers to
JavaScript, and because the codepaths are tested by LayoutTests, the
new code in this CL is not yet exercised or tested, as is ensured by
NOTREACHED(). Follow-up CLs will exercise the code in this CL.

This CL updates the following operations in RTCPeerConnectionHandler to
support both Plan B and Unified Plan once the new codepaths are
unlocked:
- AddTrack()
- RemoveTrack()
- SetLocalDescription()
- SetRemoteDescription()

The only operation missing in AddTransceiver(), to be added separately.

Bug:  777617 
Change-Id: I225cf1d903e95e488599d6735b09a57aa2b279bb
Reviewed-on: https://chromium-review.googlesource.com/1141952
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576286}
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/118eb6a30b20a0d6ec4584b37e0934a3a987c1e8/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Project Member

Comment 48 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/842893e6fdc0d81da782035ae314433d5c91df20

commit 842893e6fdc0d81da782035ae314433d5c91df20
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jul 19 11:09:45 2018

Implement & ship: RTCRtpTransceiver in Unified Plan.

Intent: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/yC_UowCRnaY

This CL implements and ships the following:
- RTCRtpTransceiver
  Everything except setCodecPreferences(), as originally planned, and
  stop(), which recently is being up for spec discussions for
  unresolved issues. stop() is not essential, you can simply set
  transceiver.direction = "inactive".
- RTCPeerConnection.getTransceivers().
- RTCTrackEvent (and RTCTrackEventInit) gets the transceiver attribute
  previously missing.

RTCPeerConnection.addTransceiver() will be added in the next CL.

Transceivers are only supported if sdpSemantics:'unified-plan' is
used, for more information see the intent to ship which explains the
background.

In "Unified Plan", the following methods get a change in behavior
because of this CL:
- RTCPeerConnection.addTrack()
- RTCPeerConnection.removeTrack()
- RTCPeerConnection.setLocalDescription()
- RTCPeerConnection.setRemoteDescription()

When transceivers are not supported, getTransceivers() simply return
an empty set.

external/wpt/webrtc/ runs in default "Plan B" mode,
virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/ runs in "Unified
Plan" mode. -expected.txt files are updated accordingly. If there is
no -expected.txt file in "virtual" then it uses the same
-expected.txt as the non-"virtual" if there is one; PASS-only files
are needed in "virtual" if the non-"virtual" one contained any FAIL
(as opposed to ommiting the -expected.txt file because everything
passed).

// All the bots already passed except for one unrelated test failure
// on a single bot. NOTRY to skip waiting for retry.
NOTRY=True

Bug:  777617 
Change-Id: Ifd4d39e4f90511ebf4871536da210c3e8a1d08d0
Reviewed-on: https://chromium-review.googlesource.com/1141963
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576439}
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[delete] https://crrev.com/ee930b05acca04657f1b073552494c8f1d2563b6/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-getTransceivers-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-getTransceivers-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/BUILD.gn
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.h
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.h
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.h
[add] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.idl
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_track_event.cc
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_track_event.h
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_track_event.idl
[modify] https://crrev.com/842893e6fdc0d81da782035ae314433d5c91df20/third_party/blink/renderer/modules/peerconnection/rtc_track_event_init.idl

Project Member

Comment 49 by bugdroid1@chromium.org, Jul 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859

commit ab1bc90d6ab7f52c22e56a181d7f5d3229df3859
Author: Henrik Boström <hbos@chromium.org>
Date: Fri Jul 20 14:21:17 2018

Implement & ship: RTCPeerConnection.addTransceiver()

Intent: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/yC_UowCRnaY
Spec: https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver

This method is only supported if sdpSemantics:'unified-plan' is used,
for more information see intent to ship which explains the background.

In "Unified Plan", this creates a transceiver. Otherwise, this throws an
kInvalidStateError.

external/wpt/webrtc/ runs in default "Plan B" mode,
virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/ runs in "Unified
Plan" mode. -expected.txt files are updated accordingly. If there is
no -expected.txt file in "virtual" then it uses the same
-expected.txt as the non-"virtual" if there is one; PASS-only files
are needed in "virtual" if the non-"virtual" one contained any FAIL
(as opposed to ommiting the -expected.txt file because everything
passed).

Most WPT uses addTransceiver(), so adding it made *A LOT* of tests that
weren't running before either pass or run further and fail differently,
hence the vast amount of -expected.txt files being changed.

Bug:  777617 
Change-Id: Icb37e4f0934592f0e334a8f07f1dc1f55e2ca8f2
Reviewed-on: https://chromium-review.googlesource.com/1143478
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Florent Castelli <orphis@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576854}
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTransceiver-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.html
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createOffer-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-getStats.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-transceivers.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-transceivers.https.html
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-codecs-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-degradationPreference-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-encodings-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-headerExtensions-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-rtcp-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-transactionId-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpReceiver-getParameters-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpReceiver-getStats.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-getStats.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-replaceTrack.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-setParameters-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpTransceiver-setDirection-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCTrackEvent-constructor-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/external/wpt/webrtc/interfaces.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTransceiver-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-createOffer-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-getStats.https-expected.txt
[delete] https://crrev.com/9699b50ba3b206d68cbb6d1fa846744d7dafa8ef/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-getTransceivers-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-removeTrack.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt
[delete] https://crrev.com/9699b50ba3b206d68cbb6d1fa846744d7dafa8ef/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-transceivers.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-codecs-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-degradationPreference-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-encodings-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-headerExtensions-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-rtcp-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-transactionId-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpReceiver-getParameters-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpReceiver-getStats.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-getStats.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-replaceTrack.https-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-setParameters-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpTransceiver-setDirection-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCTrackEvent-constructor-expected.txt
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/interfaces.https-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/bindings/modules/v8/generated.gni
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.h
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.h
[add] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver_init.idl
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/ab1bc90d6ab7f52c22e56a181d7f5d3229df3859/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Labels: Merge-Request-69
Requesting ab1bc90d6ab7f52c22e56a181d7f5d3229df3859 (comment 49) be merged into M-69. I'm assuming it just missed the cut with less than a day. We'd like to ship addTransceiver together with RTCRtpTransceiver (comment 48) which did make the cut.
Project Member

Comment 51 by sheriffbot@chromium.org, Jul 21

Labels: -Merge-Request-69 Hotlist-Merge-Approved Merge-Approved-69
Your change meets the bar and is auto-approved for M69. Please go ahead and merge the CL to branch 3497 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 52 by bugdroid1@chromium.org, Jul 23

Labels: -merge-approved-69 merge-merged-3497
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16b2a7fb36f48ea5f69d856aea2b244936140202

commit 16b2a7fb36f48ea5f69d856aea2b244936140202
Author: Henrik Boström <hbos@chromium.org>
Date: Mon Jul 23 08:52:26 2018

Implement & ship: RTCPeerConnection.addTransceiver()

Intent: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/yC_UowCRnaY
Spec: https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver

This method is only supported if sdpSemantics:'unified-plan' is used,
for more information see intent to ship which explains the background.

In "Unified Plan", this creates a transceiver. Otherwise, this throws an
kInvalidStateError.

external/wpt/webrtc/ runs in default "Plan B" mode,
virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/ runs in "Unified
Plan" mode. -expected.txt files are updated accordingly. If there is
no -expected.txt file in "virtual" then it uses the same
-expected.txt as the non-"virtual" if there is one; PASS-only files
are needed in "virtual" if the non-"virtual" one contained any FAIL
(as opposed to ommiting the -expected.txt file because everything
passed).

Most WPT uses addTransceiver(), so adding it made *A LOT* of tests that
weren't running before either pass or run further and fail differently,
hence the vast amount of -expected.txt files being changed.

TBR=hbos@chromium.org

(cherry picked from commit ab1bc90d6ab7f52c22e56a181d7f5d3229df3859)

Bug:  777617 
Change-Id: Icb37e4f0934592f0e334a8f07f1dc1f55e2ca8f2
Reviewed-on: https://chromium-review.googlesource.com/1143478
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Florent Castelli <orphis@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#576854}
Reviewed-on: https://chromium-review.googlesource.com/1146568
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/branch-heads/3497@{#11}
Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753}
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTransceiver-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.html
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createOffer-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-getStats.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-transceivers.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-transceivers.https.html
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-codecs-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-degradationPreference-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-encodings-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-headerExtensions-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-rtcp-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpParameters-transactionId-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpReceiver-getParameters-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpReceiver-getStats.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-getStats.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-replaceTrack.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpSender-setParameters-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCRtpTransceiver-setDirection-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCTrackEvent-constructor-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/external/wpt/webrtc/interfaces.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-ontonechange.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTrack.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-addTransceiver-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-createOffer-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-createOffer-offerToReceive-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-getStats.https-expected.txt
[delete] https://crrev.com/3ca6d16bb1115184d5d5d493f761598f3ebfe625/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-getTransceivers-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-ontrack.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-removeTrack.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt
[delete] https://crrev.com/3ca6d16bb1115184d5d5d493f761598f3ebfe625/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-transceivers.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-codecs-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-degradationPreference-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-encodings-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-headerExtensions-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-rtcp-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpParameters-transactionId-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpReceiver-getParameters-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpReceiver-getStats.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-getStats.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-replaceTrack.https-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpSender-setParameters-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCRtpTransceiver-setDirection-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCTrackEvent-constructor-expected.txt
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/interfaces.https-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/bindings/modules/v8/generated.gni
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.h
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.h
[add] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver_init.idl
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/16b2a7fb36f48ea5f69d856aea2b244936140202/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Status: Verified (was: Started)
With the last feature CL merged into M69, I'm closing this as fixed and Verified.
Note: Will need to create new issues for stop() and addTransceiver with init sendEncodings
Cc: hta@chromium.org hbos@chromium.org
 Issue 803389  has been merged into this issue.
 Issue 740323  has been merged into this issue.
 Issue 769743  has been merged into this issue.

Sign in to add a comment