Commit Graph

1908 Commits

Author SHA1 Message Date
7619b7c078 Add tests for FrameBuffer3 and SyncDecoding in PC Integration Tests
Change-Id: I04ae6a694599a535347c29706e5ad40cba58155b
Bug: webrtc:13672
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251721
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36104}
2022-03-01 15:22:48 +00:00
42da5a9a10 Keep RTCTransportStats on P2PTransportChannel.
This cl/ changes so that the RTCTransportStats bytes/packets
sent/recevied is computed in P2PTransportChannel. Previously
they were computed by aggregating over the Connections, but that
does not work when Connections are created and destroyed.

Bug: webrtc:13769
Change-Id: Ia97dfae70b5aced897d4813ec007ba61bc032f87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/253100
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36103}
2022-03-01 14:31:29 +00:00
0cb1cfa69e Reland "Removing MessageHandler dependency from Connection."
This reverts commit 05ea12e5136493a8977e0bb4a81a6ff8d06ec92f.

Reason for revert: Speculative revert.

Original change's description:
> Revert "Removing MessageHandler dependency from Connection."
>
> This reverts commit 3202e29f72b4f511fcf6e92ef9b0dcbfee6089ff.
>
> Reason for revert: Introduced a crash in the task posted by Destroy()
>
> Original change's description:
> > Removing MessageHandler dependency from Connection.
> >
> > Bug: webrtc:11988
> > Change-Id: Ic35bb5baeafbda7210012dceb0d6d5f5b3eb95c9
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249941
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35890}
>
> No-Try: True
> Bug: webrtc:11988
> Change-Id: Ie70ee145fde75b8cf76b02784176970e7a78e001
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252541
> Auto-Submit: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36078}

No-Try: True
Bug: webrtc:11988
Change-Id: Idfd42d016e81d4352839c33dcb4ea3b0dafea08b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252584
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36081}
2022-02-25 11:01:54 +00:00
05ea12e513 Revert "Removing MessageHandler dependency from Connection."
This reverts commit 3202e29f72b4f511fcf6e92ef9b0dcbfee6089ff.

Reason for revert: Introduced a crash in the task posted by Destroy()

Original change's description:
> Removing MessageHandler dependency from Connection.
>
> Bug: webrtc:11988
> Change-Id: Ic35bb5baeafbda7210012dceb0d6d5f5b3eb95c9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249941
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35890}

No-Try: True
Bug: webrtc:11988
Change-Id: Ie70ee145fde75b8cf76b02784176970e7a78e001
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252541
Auto-Submit: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36078}
2022-02-25 10:41:13 +00:00
c24a2189d7 Update IWYU tool with a mapping file
Also apply IWYU to all .cc files in pc/, and correct BUILD file to match.
Note: Some files came out wrong when iwyu was applied. These are not included.

Bug: none
Change-Id: Ib5ea46b8fcc505414d0447cca7218ad3afc2e321
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36064}
2022-02-24 11:05:06 +00:00
6589def397 Align sender/receiver teardown in RtpTransceiver.
This makes SetChannel() consistently make 2 invokes instead of a
multiple of senders+receivers (previous minimum was 4 but could be
larger).

* Stop() doesn't hop to the worker thread.
* SetMediaChannel(), an already-required step on the worker thread for
  senders and *sometimes* for receivers[1], is now consistently required
  for both. This simplifies transceiver teardown and enables the next
  bullet.
* Transceiver stops all senders and receivers in one go rather than
  ping ponging between threads.

[1] When not required, it was done implicitly inside of Stop().
  See changes in `RtpTransceiver::SetChannel`

Bug: webrtc:13540
Change-Id: Ied61636c8ef09d782bf519524fff2a31e15219a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249797
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36057}
2022-02-23 11:10:32 +00:00
34cd1d36fa Reland "Use internal() in VideoTrack when invoking the source."
This is a reland of 962bf1896185c0d84232f2bfae492eeb04e1236d

Original change's description:
> Use internal() in VideoTrack when invoking the source.
>
> This skips going through the proxy and potentially hide a thread hop
> should a regression occur.
>
> This CL contains a part of a previously reviewed, landed, reverted,
> relanded and re-reverted CL:
> https://webrtc-review.googlesource.com/c/src/+/250180
>
> Bug: webrtc:13540
> Change-Id: If098f5c04a263547fb53f44e9f9738b8e941a294
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251861
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36026}

Bug: webrtc:13540
Change-Id: I00e998be6614b1a478ddf02110b3a2d67bd42274
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252043
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36053}
2022-02-22 23:02:12 +00:00
09f5713a6b Reland "Move VideoTrackSourceProxy creation into VideoTrack."
This is a reland of 4bc7223cf0775737a615c677b82c78e49a6a8a2c

Original change's description:
> Move VideoTrackSourceProxy creation into VideoTrack.
>
> This CL contains a part of a previously reviewed, landed, reverted,
> relanded and re-reverted CL:
> https://webrtc-review.googlesource.com/c/src/+/250180
>
> Bug: webrtc:13540
> Change-Id: Id6df8da5ff61e3ec90d0b3f3d828e8f670d4931b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251860
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36025}

Bug: webrtc:13540
Change-Id: I81df66daa40c59ab0b8677d7065f1703f071a10a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252041
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36047}
2022-02-22 11:14:15 +00:00
1f6e4308ab Revert "Move VideoTrackSourceProxy creation into VideoTrack."
This reverts commit 4bc7223cf0775737a615c677b82c78e49a6a8a2c.

Reason for revert: Regressions in PC tests https://crbug.com/webrtc/13697

Original change's description:
> Move VideoTrackSourceProxy creation into VideoTrack.
>
> This CL contains a part of a previously reviewed, landed, reverted,
> relanded and re-reverted CL:
> https://webrtc-review.googlesource.com/c/src/+/250180
>
> Bug: webrtc:13540
> Change-Id: Id6df8da5ff61e3ec90d0b3f3d828e8f670d4931b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251860
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36025}

Bug: webrtc:13540
Change-Id: Ibae8c1d39fa4d71aafd9666b66e6abc8eb8fddb2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251980
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36039}
2022-02-21 18:22:24 +00:00
153c9e5107 Revert "Use internal() in VideoTrack when invoking the source."
This reverts commit 962bf1896185c0d84232f2bfae492eeb04e1236d.

Reason for revert: Regressions in PC tests https://crbug.com/webrtc/13697

Original change's description:
> Use internal() in VideoTrack when invoking the source.
>
> This skips going through the proxy and potentially hide a thread hop
> should a regression occur.
>
> This CL contains a part of a previously reviewed, landed, reverted,
> relanded and re-reverted CL:
> https://webrtc-review.googlesource.com/c/src/+/250180
>
> Bug: webrtc:13540
> Change-Id: If098f5c04a263547fb53f44e9f9738b8e941a294
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251861
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36026}

Bug: webrtc:13540
Change-Id: Iea76094aedda91271154f89c356b140c95717976
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251981
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36035}
2022-02-21 13:31:24 +00:00
29ff3efebf Reland: Make dcSCTP the default SCTP implementation
To disable dcSCTP and fallback to usrsctp, you can use the field trial
WebRTC-DataChannel-Dcsctp/Disabled/

Also remove a hidden no-break space in dcSCTP logging causing issues in
some log parsing.

Bug: chromium:1243702
Change-Id: I46136a8913a6d803a3c63c710f3ed29523e4d773
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251867
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36027}
2022-02-17 23:57:01 +00:00
962bf18961 Use internal() in VideoTrack when invoking the source.
This skips going through the proxy and potentially hide a thread hop
should a regression occur.

This CL contains a part of a previously reviewed, landed, reverted,
relanded and re-reverted CL:
https://webrtc-review.googlesource.com/c/src/+/250180

Bug: webrtc:13540
Change-Id: If098f5c04a263547fb53f44e9f9738b8e941a294
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251861
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36026}
2022-02-17 14:25:50 +00:00
4bc7223cf0 Move VideoTrackSourceProxy creation into VideoTrack.
This CL contains a part of a previously reviewed, landed, reverted,
relanded and re-reverted CL:
https://webrtc-review.googlesource.com/c/src/+/250180

Bug: webrtc:13540
Change-Id: Id6df8da5ff61e3ec90d0b3f3d828e8f670d4931b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251860
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36025}
2022-02-17 13:44:51 +00:00
88f3c830f6 Revert "Make dcSCTP the default SCTP implementation"
This reverts commit 035e97a447455bdd434b6d775b824d3ee2bb2c8c.

Reason for revert: Breaks downstream projects.

Original change's description:
> Make dcSCTP the default SCTP implementation
>
> To disable dcSCTP and fallback to usrsctp, you can use the field trial
> WebRTC-DataChannel-Dcsctp/Disabled/
>
> Bug: chromium:1243702
> Change-Id: Ia90b796562245558a61481317bcded437400b045
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251800
> Auto-Submit: Florent Castelli <orphis@webrtc.org>
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36018}

TBR=hta@webrtc.org,orphis@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Id4767920abc9a4d934b5d9bb49ea0b2178df950b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1243702
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251862
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36022}
2022-02-17 09:01:56 +00:00
fe328ca88a Add several thread checks to RtpSender classes.
Minor related updates to AudioTrack and VideoTrack's sequence checkers.

There's more that can be done (or arguably needs to), but this is
a start.

Bug: none
Change-Id: I3ccf8eb9bbb6bef62b83248a23a68871b9fcd9e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251843
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36021}
2022-02-17 09:00:54 +00:00
035e97a447 Make dcSCTP the default SCTP implementation
To disable dcSCTP and fallback to usrsctp, you can use the field trial
WebRTC-DataChannel-Dcsctp/Disabled/

Bug: chromium:1243702
Change-Id: Ia90b796562245558a61481317bcded437400b045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251800
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36018}
2022-02-16 14:30:31 +00:00
dfd69c2210 Move VideoTrack's content_hint property to the signaling thread.
Bug: webrtc:13673, webrtc:13681
Change-Id: I06810338bf5e44665e4d005d35636e9a98b1bd0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251684
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36010}
2022-02-15 21:55:59 +00:00
250c31df00 Move enabled() methods for VideoTrack over to signaling
Bug: webrtc:13680
Change-Id: I0faf0d03541fce2b93c03857e01e85588389ccd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251720
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36009}
2022-02-15 21:51:15 +00:00
e47493b3c0 Add restrictive visibility to all targets in //pc
This CL sets all visibility to ":*" (this buildfile) where no users
outside this directory are known, and marks up publicly exported
targets and Chrome dependencies explicitly.

Bug: webrtc:13661
Change-Id: I9b2c304ea222f401d71a1ec86eb7a052051f0be3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251690
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36004}
2022-02-15 14:40:52 +00:00
5723d854c9 Integrate sync decoding in video_receive_stream
Wires up DecodeSynchronizer in Call if there is a Metronome injected
into the PeerConnectionFactoryDependencies.

Change-Id: I362cd12648bfa0c32e73111fcd0f3296fca2b275
Bug: webrtc:13658
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251341
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35996}
2022-02-14 16:59:20 +00:00
e7b4c137cc Revert "Reland "Use non-proxied source object in VideoTrack.""
This reverts commit 1158bff15f33c467543928dd6a49cb6ad04da1ba.

Reason for revert: Downstream issues unresolved (2nd of two reverts)

Original change's description:
> Reland "Use non-proxied source object in VideoTrack."
>
> This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166
>
> This reland doesn't contain the AudioTrack changes (see original
> description) that got triggered in some cases and needs to be
> addressed separately.
>
> Another change in this re-land is that instead of the `state` property
> of the VideoTrack be marshalled to the signaling thread, it's readable
> from the calling thread. Previously this was marshalled to the worker
> and the original changed that to the signaling thread (same as for
> AudioTrack) - but in case that's causing downstream problems this reland
> uses BYPASS_PROXY_CONSTMETHOD0 for the `state()` accessor of the
> VideoTrack proxy.
>
> Original change's description:
> > Use non-proxied source object in VideoTrack.
> >
> > Use the internal representation of the video source object from the
> > track. Before there were implicit thread hops due to use of the proxy.
> >
> > Also, override AudioTrack's enabled methods to enforce thread
> > expectations.
> >
> > Bug: webrtc:13540
> > Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35911}
>
> Bug: webrtc:13540
> Change-Id: Icb3e165f07240ae10730a316d3a8a3b2b9167d82
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251387
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35979}

# Not skipping CQ checks because original CL landed > 1 day ago.

Using "No-Try" to not have to wait for the win chromium bot to unblock
(currently takes hours).

No-Try: true
Bug: webrtc:13540
Change-Id: I8f34536bf472a6d069344e84d889864f195c93f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251686
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35993}
2022-02-14 13:54:20 +00:00
97f8a5f7dd Revert partial revert, in order to do a full revert.
This reverts commit f342d6054ad984b7b80df2afe349c3bbb5f1d5b8.
  or "Reland "Use non-proxied source object in VideoTrack.""

Reason for revert: Didn't resolve the downstream issues.

Original change's description:
> Revert "Reland "Use non-proxied source object in VideoTrack.""
>
> This reverts commit 1158bff15f33c467543928dd6a49cb6ad04da1ba.
>
> Reason for revert: This is a partial revert as we're tracking down
> the source of the downstream issues. This CL reverts the use of
> `internal()` for methods that relate to the source sink.
>
> Original change's description:
> > Reland "Use non-proxied source object in VideoTrack."
> >
> > This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166
> >
> > This reland doesn't contain the AudioTrack changes (see original
> > description) that got triggered in some cases and needs to be
> > addressed separately.
> >
> > Another change in this re-land is that instead of the `state` property
> > of the VideoTrack be marshalled to the signaling thread, it's readable
> > from the calling thread. Previously this was marshalled to the worker
> > and the original changed that to the signaling thread (same as for
> > AudioTrack) - but in case that's causing downstream problems this reland
> > uses BYPASS_PROXY_CONSTMETHOD0 for the `state()` accessor of the
> > VideoTrack proxy.
> >
> > Original change's description:
> > > Use non-proxied source object in VideoTrack.
> > >
> > > Use the internal representation of the video source object from the
> > > track. Before there were implicit thread hops due to use of the proxy.
> > >
> > > Also, override AudioTrack's enabled methods to enforce thread
> > > expectations.
> > >
> > > Bug: webrtc:13540
> > > Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > > Cr-Commit-Position: refs/heads/main@{#35911}
> >
> > Bug: webrtc:13540
> > Change-Id: Icb3e165f07240ae10730a316d3a8a3b2b9167d82
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251387
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35979}
>
> TBR=tommi@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I4d8e3aced019215b97a6263cafa2a7488cd118be
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:13540
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251661
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35983}

# Not skipping CQ checks because original CL landed > 1 day ago.

Using "no-try" since a follow-up revert is also needed to get the bots
to turn green.

No-try: true
Bug: webrtc:13540
Change-Id: I361fca6949c01200d9d706749e7e825eb5b4fc1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251685
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35991}
2022-02-14 12:35:10 +00:00
f342d6054a Revert "Reland "Use non-proxied source object in VideoTrack.""
This reverts commit 1158bff15f33c467543928dd6a49cb6ad04da1ba.

Reason for revert: This is a partial revert as we're tracking down
the source of the downstream issues. This CL reverts the use of
`internal()` for methods that relate to the source sink.

Original change's description:
> Reland "Use non-proxied source object in VideoTrack."
>
> This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166
>
> This reland doesn't contain the AudioTrack changes (see original
> description) that got triggered in some cases and needs to be
> addressed separately.
>
> Another change in this re-land is that instead of the `state` property
> of the VideoTrack be marshalled to the signaling thread, it's readable
> from the calling thread. Previously this was marshalled to the worker
> and the original changed that to the signaling thread (same as for
> AudioTrack) - but in case that's causing downstream problems this reland
> uses BYPASS_PROXY_CONSTMETHOD0 for the `state()` accessor of the
> VideoTrack proxy.
>
> Original change's description:
> > Use non-proxied source object in VideoTrack.
> >
> > Use the internal representation of the video source object from the
> > track. Before there were implicit thread hops due to use of the proxy.
> >
> > Also, override AudioTrack's enabled methods to enforce thread
> > expectations.
> >
> > Bug: webrtc:13540
> > Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35911}
>
> Bug: webrtc:13540
> Change-Id: Icb3e165f07240ae10730a316d3a8a3b2b9167d82
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251387
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35979}

TBR=tommi@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I4d8e3aced019215b97a6263cafa2a7488cd118be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13540
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251661
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35983}
2022-02-12 16:28:55 +00:00
075db39756 Check for valid transport before setting criteria.
Bug: chromium:1295469
Change-Id: Ib797cf1baf275e3ae1ce167cd4bfbc1161652000
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251620
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35981}
2022-02-11 18:18:27 +00:00
06c87a1664 Add tests for DC odd/even numbering in a few more cases.
Also expands integration_test_helpers to deal with multiple
datachannels.

The bug has not yet been triggered.

Bug: webrtc:13668
Change-Id: I82a0fdae0cc32815c250a691b56c614bfd6d606b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251602
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35980}
2022-02-11 17:37:34 +00:00
1158bff15f Reland "Use non-proxied source object in VideoTrack."
This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166

This reland doesn't contain the AudioTrack changes (see original
description) that got triggered in some cases and needs to be
addressed separately.

Another change in this re-land is that instead of the `state` property
of the VideoTrack be marshalled to the signaling thread, it's readable
from the calling thread. Previously this was marshalled to the worker
and the original changed that to the signaling thread (same as for
AudioTrack) - but in case that's causing downstream problems this reland
uses BYPASS_PROXY_CONSTMETHOD0 for the `state()` accessor of the
VideoTrack proxy.

Original change's description:
> Use non-proxied source object in VideoTrack.
>
> Use the internal representation of the video source object from the
> track. Before there were implicit thread hops due to use of the proxy.
>
> Also, override AudioTrack's enabled methods to enforce thread
> expectations.
>
> Bug: webrtc:13540
> Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35911}

Bug: webrtc:13540
Change-Id: Icb3e165f07240ae10730a316d3a8a3b2b9167d82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251387
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35979}
2022-02-11 16:03:14 +00:00
321ec3ba99 Add tests for SSL role and datachannel ID assignment.
Document with a comment the suspected place that could cause a bug.
Also fix an error in previous role observation code.

Bug: webrtc:13668
Change-Id: Id7f6af6905d90f7974b5570145c201c8339aaf72
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251388
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35973}
2022-02-10 15:52:16 +00:00
316ab12821 Make DTLS role visible on DtlsTransport interface
This is important for writing tests that affect the DTLS role.

Bug: webrtc:13668
Change-Id: I5d9a93eca7996a8b74cdcfe412f59a85892e1ec1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251389
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35971}
2022-02-10 11:04:36 +00:00
20d8d9150c Reland "Remove stopped_ from AudioRtpReceiver and VideoRtpReceiver."
This is a reland of 3ed36c0521546881656c73984456485dcab16205

Original change's description:
> Reland "Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver."
>
> This is a reland of bb57e2d7aa9b36843233d1394422f03d12d9c31f
>
> The difference from the original CL is that a check for
> `state_ == kLive` inside of RemoteAudioSource::AddSink has been removed.
> This caused a side effect that registering the sink while the source
> was in an "initializing" state, failed. The last remaining state
> however, is `kEnded` - but since there's no logic in the class around
> the expected value of the states, the check inside of AddSink()
> doesn't provide an additional value - it's rather a surprise for
> developers if it doesn't succeed. So, now removed.
>
> Original change's description:
> > Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver.
> >
> > This simplifies the logic in these classes a bit, which makes upcoming
> > change easier. The `stopped_` flag in these classes was essentially
> > the same thing as `media_channel_ == nullptr`, which is what's
> > consistently used now for the same checks.
> >
> > Bug: webrtc:13540
> > Change-Id: Ib60bfad9f28d5ddee8a8d5170c3f2a7ef017a5ca
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250163
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35907}
>
> Bug: webrtc:13540
> Change-Id: I3e5b3046fae11cb56b50c38c5f08972a6f283dd5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251326
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35958}

Bug: webrtc:13540
Change-Id: I6d7d67fddb1ddfc69a302f0f69a9b815f2fd82f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251386
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35967}
2022-02-09 16:54:06 +00:00
981c572eab Updated apply-iwyu to autogenerate compile_commands.json
Also deleted iwyu script that was not maintained, and deleted
some options that made the script more complex.

Bug: none
Change-Id: I39d8eaa37f12c72ddc127ae145e6a3a80f328316
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251384
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35966}
2022-02-09 14:30:57 +00:00
bc32c56f83 Move pc.transport_controller_ to be network thread only
A pointer to the transport controller is now maintained on
both the network thread and the signaling thread. We use
thread specific accessors to make it explicit which copy we
are accessing at any given time.

We also move the initial offerer value to the SDP offer/answer
class; this is determined on the basis of SDP offer/answer, so
there is no need to hop to the network thread for that.

Work in progress.

Bug: webrtc:9987
Change-Id: Idbe5a7fbf44f667adcd119e486133cf6e43ab1f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251382
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35965}
2022-02-09 13:06:15 +00:00
2da85916ab Revert "Reland "Remove stopped_ from AudioRtpReceiver and VideoRtpReceiver.""
This reverts commit 3ed36c0521546881656c73984456485dcab16205.

Reason for revert: Breaks downstream project.

Original change's description:
> Reland "Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver."
>
> This is a reland of bb57e2d7aa9b36843233d1394422f03d12d9c31f
>
> The difference from the original CL is that a check for
> `state_ == kLive` inside of RemoteAudioSource::AddSink has been removed.
> This caused a side effect that registering the sink while the source
> was in an "initializing" state, failed. The last remaining state
> however, is `kEnded` - but since there's no logic in the class around
> the expected value of the states, the check inside of AddSink()
> doesn't provide an additional value - it's rather a surprise for
> developers if it doesn't succeed. So, now removed.
>
> Original change's description:
> > Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver.
> >
> > This simplifies the logic in these classes a bit, which makes upcoming
> > change easier. The `stopped_` flag in these classes was essentially
> > the same thing as `media_channel_ == nullptr`, which is what's
> > consistently used now for the same checks.
> >
> > Bug: webrtc:13540
> > Change-Id: Ib60bfad9f28d5ddee8a8d5170c3f2a7ef017a5ca
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250163
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35907}
>
> Bug: webrtc:13540
> Change-Id: I3e5b3046fae11cb56b50c38c5f08972a6f283dd5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251326
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35958}

TBR=ilnik@webrtc.org,tommi@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Ieb7235d88c808c78ad0847403be991d4dce1ace6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13540
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251383
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35963}
2022-02-09 10:55:25 +00:00
15ad4ed676 Break out peer_connection_factory and peer_connection
The peerconnection target now has no files, which means that no
target that needs .h files depends on it. This is good.

Bug: webrtc:13634
Change-Id: I9f194fb224e52a5824eb00f216461c7f928b0308
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251325
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35961}
2022-02-09 07:55:35 +00:00
3ed36c0521 Reland "Remove stopped_ from AudioRtpReceiver and VideoRtpReceiver."
This is a reland of bb57e2d7aa9b36843233d1394422f03d12d9c31f

The difference from the original CL is that a check for
`state_ == kLive` inside of RemoteAudioSource::AddSink has been removed.
This caused a side effect that registering the sink while the source
was in an "initializing" state, failed. The last remaining state
however, is `kEnded` - but since there's no logic in the class around
the expected value of the states, the check inside of AddSink()
doesn't provide an additional value - it's rather a surprise for
developers if it doesn't succeed. So, now removed.

Original change's description:
> Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver.
>
> This simplifies the logic in these classes a bit, which makes upcoming
> change easier. The `stopped_` flag in these classes was essentially
> the same thing as `media_channel_ == nullptr`, which is what's
> consistently used now for the same checks.
>
> Bug: webrtc:13540
> Change-Id: Ib60bfad9f28d5ddee8a8d5170c3f2a7ef017a5ca
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250163
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35907}

Bug: webrtc:13540
Change-Id: I3e5b3046fae11cb56b50c38c5f08972a6f283dd5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251326
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35958}
2022-02-08 21:41:14 +00:00
8e3441933f Break out sdp_offer_answer from peerconnection
Bug: webrtc:13634
Change-Id: I4400c4d1a6aaf751774dbd8a9f697fd9fee1d297
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251324
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35954}
2022-02-08 15:23:44 +00:00
5b84f386fc Break out data_channel_controller from peerconnection target
Bug: webrtc:11943
Change-Id: I80c6b1be770f4e99cc7e21ef0e30977198166f88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251323
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35949}
2022-02-08 12:32:14 +00:00
a7fc765d3d Break out stats_collector from pc/peerconnection target
Bug: webrtc:13634
Change-Id: I868ea6e911b81da3a9ecc39ae9880f5d4d718302
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35948}
2022-02-08 10:57:34 +00:00
fd6c744a7c Break out rtc_stats_collector and rtc_stats_traversal
Bug: webrtc:13634
Change-Id: I94f8cfe5511ff0798ec4a5ad7df28f3e7b98165d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251241
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35945}
2022-02-08 09:26:24 +00:00
3aa9937e48 Fix for payload type id collision
This collision can occur when we have
asymetrical send and receive codecs. This is the case in the current
code base with the VP9 codec familly but is not visible untill more
codecs are added.

Added Nutanix Inc. to AUTHORS.

Bug: chromium:1291956
Change-Id: I09d3f76161d984d2a3edf721639753bffd4947b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250034
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35944}
2022-02-08 09:13:33 +00:00
b6f3916c48 Break out webrtc_sdp and jsep_session_description
These two files turn out to be entangled with each other. Keeping
them together for now.

This is a simpler approach than the one attempted in
https://webrtc-review.googlesource.com/c/src/+/251060
but leaves cleanup of the relationship to a later work item.

Bug: webrtc:13634
Change-Id: I2b38f86c0c510332dc24a6b83531aee143a5df10
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251240
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35942}
2022-02-08 07:43:36 +00:00
e0bc8d2f49 Revert "Replace use of sigslot with CallbackList in data_channel_controller"
This reverts commit 8efc914cf353cea138a453c45e970e589bec0834.

Reason for revert: Breaks downstream project.

Original change's description:
> Replace use of sigslot with CallbackList in data_channel_controller
>
> This is a straightforward replacement; simplifications due to the ability
> to inline functions in the lambdas are for a later CL.
>
> Bug: webrtc:11943
> Change-Id: I7274cedde507b954f1d8aa8bc560861102eeb264
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250540
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35936}

TBR=nisse@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I8fd0f32ceec866bfd9a08cac1108b559bf03caac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11943
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251280
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35941}
2022-02-08 07:42:34 +00:00
30d753a3f7 Revert "Remove stopped_ from AudioRtpReceiver and VideoRtpReceiver."
This reverts commit bb57e2d7aa9b36843233d1394422f03d12d9c31f.

Reason for revert: Speculative revert to see if this is causing
breakage in Chromium

Bug: chromium:13665

Original change's description:
> Remove `stopped_` from AudioRtpReceiver and VideoRtpReceiver.
>
> This simplifies the logic in these classes a bit, which makes upcoming
> change easier. The `stopped_` flag in these classes was essentially
> the same thing as `media_channel_ == nullptr`, which is what's
> consistently used now for the same checks.
>
> Bug: webrtc:13540
> Change-Id: Ib60bfad9f28d5ddee8a8d5170c3f2a7ef017a5ca
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250163
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35907}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:13540
Change-Id: I67fb2c26b6931b80e3aab749443122d62a82855d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251141
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35938}
2022-02-07 21:00:53 +00:00
8efc914cf3 Replace use of sigslot with CallbackList in data_channel_controller
This is a straightforward replacement; simplifications due to the ability
to inline functions in the lambdas are for a later CL.

Bug: webrtc:11943
Change-Id: I7274cedde507b954f1d8aa8bc560861102eeb264
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250540
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35936}
2022-02-07 18:08:34 +00:00
10bd1716fb Revert "Reland "Use non-proxied source object in VideoTrack.""
This reverts commit 2c47235b0ef1c7bc1aeadc7d0e3aed18e131b3c7.

Reason for revert: Downstream issue still doesn't seem to be resolved.

Original change's description:
> Reland "Use non-proxied source object in VideoTrack."
>
> This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166
>
> This reland doesn't contain the AudioTrack changes (see original
> description) that got triggered in some cases and needs to be
> addressed separately.
>
> Original change's description:
> > Use non-proxied source object in VideoTrack.
> >
> > Use the internal representation of the video source object from the
> > track. Before there were implicit thread hops due to use of the proxy.
> >
> > Also, override AudioTrack's enabled methods to enforce thread
> > expectations.
> >
> > Bug: webrtc:13540
> > Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35911}
>
> Bug: webrtc:13540
> Change-Id: I59997be174cc9278e3e5910d493efd5352e6de68
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250940
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35924}

TBR=tommi@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Ib9a76db660c5d18203c13b4feaf5b47f56d7e930
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13540
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251082
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35930}
2022-02-07 12:21:44 +00:00
e79f85c10e Mark webrtc_sdp as visible target
It is being used, among others, by Chrome.

Bug: webrtc:13634
Change-Id: I61954e3a149ead7abf47efe67d6fbecd63ad8d2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250961
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35928}
2022-02-07 09:36:53 +00:00
67a68d57bf Break out peer_connection_internal from peerconnection target
Also make peer_connection_internal not depend on the data_channel_controller
(dependency should be in the other direction only).

Bug: webrtc:13634
Change-Id: If51358d923348059485928b626a75a1df012ce8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35926}
2022-02-07 08:33:33 +00:00
ab0152d6d2 Break out stream_collection.h from peerconnection target
Bug: webrtc:13634
Change-Id: I7062f245b3ae5f1d7f38baee0c5b14be3332e658
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251061
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35925}
2022-02-07 08:32:04 +00:00
2c47235b0e Reland "Use non-proxied source object in VideoTrack."
This is a reland of 3eb29c12358930a60134f185cd849e0d12aa9166

This reland doesn't contain the AudioTrack changes (see original
description) that got triggered in some cases and needs to be
addressed separately.

Original change's description:
> Use non-proxied source object in VideoTrack.
>
> Use the internal representation of the video source object from the
> track. Before there were implicit thread hops due to use of the proxy.
>
> Also, override AudioTrack's enabled methods to enforce thread
> expectations.
>
> Bug: webrtc:13540
> Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35911}

Bug: webrtc:13540
Change-Id: I59997be174cc9278e3e5910d493efd5352e6de68
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250940
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35924}
2022-02-07 08:15:43 +00:00
ad3b3237a1 Reland "Break out targets from pc/peerconnection build target."
This reverts commit e3bf4a67c9eb24edea7bfacc0029e8fd0fa96ca5.

Reason for revert: Fixed downstream projects.

Original change's description:
> Revert "Break out targets from pc/peerconnection build target."
>
> This reverts commit c9664435944268cd5753eb238bfe9494dd2eec8b.
>
> Reason for revert: Breaks upstream project
>
> Original change's description:
> > Break out targets from pc/peerconnection build target.
> >
> > This is part of a project to make sdp_offer_answer be a separate
> > compile target from peerconnection.
> > This CL affects sctp_data_channel and data_channel_utils.
> >
> > Bug: webrtc:11995
> > Change-Id: I98244413b7cffdd0c70c56221f0692c2949e0549
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249799
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35840}
>
> TBR=mbonadei@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: If2a898f6e573ce347b9858fe8bf29a5a2211bff0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11995
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249946
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35843}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11995, webrtc:13634
Change-Id: I751e089da01c682c37953fedac542a67ce77ac9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249992
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35923}
2022-02-07 04:32:13 +00:00
5b5fa3b9c0 Revert "Use non-proxied source object in VideoTrack."
This reverts commit 3eb29c12358930a60134f185cd849e0d12aa9166.

Reason for revert: Breaks downstream projects.

Original change's description:
> Use non-proxied source object in VideoTrack.
>
> Use the internal representation of the video source object from the
> track. Before there were implicit thread hops due to use of the proxy.
>
> Also, override AudioTrack's enabled methods to enforce thread
> expectations.
>
> Bug: webrtc:13540
> Change-Id: I4bc7aca96d6fc24f31ade45e47f52599f1cc2f97
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250180
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35911}

TBR=tommi@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I77395b21c0ef7f17992ae16d296b90bd51eac305
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13540
TBR: tommi@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250668
Auto-Submit: Artem Titarenko <artit@webrtc.org>
Owners-Override: Artem Titarenko <artit@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35917}
2022-02-04 21:26:31 +00:00