Commit graph

92 commits

Author SHA1 Message Date
Florent Castelli
8037fc6ffa Migrate absl::optional to std::optional
Bug: webrtc:342905193
No-Try: True
Change-Id: Icc968be43b8830038ea9a1f5f604307220457807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361021
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42911}
2024-09-02 12:16:47 +00:00
Sergey Silkin
3172d16ea0 Clean up EncoderStreamFactory
* Simplified ctor. Get settings (max_qp, content_type, etc) from encoder_config passed to CreateEncoderStreams().

* Some tests assigned VideoEncoderConfig::video_stream_factory to EncoderStreamFactory they created. That's not really needed. VideoStreamEncoder creates the factory if video_stream_factory is not provided [1]. Removed video_stream_factory initialization in tests.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/video/video_stream_encoder.cc;l=1002;drc=1d7d0e6e2c5002815853be251ce43fe88779ac85

Bug: b/347150850, webrtc:42233936
Change-Id: Ie0322abb6c48e1a9bd10e9ed3879e3ed484fea5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355321
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42608}
2024-07-09 09:47:55 +00:00
Danil Chapovalov
41b4bf97c1 Pass Environment instead of clock to Fake video encoders at construction
Some of the fake encoders, FakeVp8Encoder in particular, reuse structures that in turn rely on field trials. Thus fake encoders also can benefit from Environment passed at construction.

Bug: webrtc:15860
Change-Id: Ia1542b2663c75fd467e346aad9ead627ff9b3b0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/346780
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42046}
2024-04-12 07:42:48 +00:00
Markus Handell
97df932ecc Remove multiplex codec.
The feature isn't in use by Google and has proven to contain security
issues. It's time to remove it.

Bug: b/324864439
Change-Id: I80344eb2f2060469d2d69a54dc4519fdd02ab4ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/340324
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41808}
2024-02-26 11:26:04 +00:00
Per K
9c166e064f Remove VideoSendStream::StartPerRtpStream
Instead, always use VideoSendStream::Start.

VideoSendStream::StartPerRtpStream was used for controlling if
individual rtp stream for a RtpEncodingParameter should be able to send RTP packets. It was not used for controlling the actual encoder layers.

With this change RtpEncodingParameter.active still controls actual encoder layers but it does not control if RTP packets can be sent or not.

The cleanup is done to simplify code and in the future allow sending
probe packet on a RtpTransceiver that allows sending, regardless of the
RtpEncodingParameter.active flag.

Bug: webrtc:14928
Change-Id: I896c055ed4de76db58d76f452147c29783f77ae1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/335042
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41619}
2024-01-26 09:19:50 +00:00
Danil Chapovalov
55a61898a8 Pass Environment to custom FecController at construction
To allow custom FecController use propagated rather than global field trials
note that there is one FecControllerFactory per peer connection factory,
but FecController is created per peer connection and may use per peer connection field trials.

Bug: webrtc:10335
Change-Id: Id25bfaf4b49d4f6d551730c8fd55596ddc49ab47
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41478}
2024-01-08 12:57:48 +00:00
Danil Chapovalov
59d0b8de33 Update test/scenario to use Environment
Bug: webrtc:15656
Change-Id: Ic1508d01dce449103cdf1a507636617bda3dba22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329200
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41281}
2023-11-30 08:34:12 +00:00
Sergey Silkin
b6ef1a736e Define default max Qp in media/base/media_constants
kDefaultQpMax=56 was defined in multiple places. Move it to media_constants and split it into two: VPx/AV1 and H26x values. H26x value is set to 51 which is the max bitstream QP value for H264/5.

This CL is expected to be a no-op because:
1. VideoCodec::qpMax value has not changed for VP8/9 and AV1.
2. VideoCodec::qpMax is currently not used by OpenH264 wrapper (wiring it up is out-of-scope of this CL).
3. Previous default qpMax=56 exceeded the max value for H26x (=51). External HW H26x encoders likely clamped it and used 51.

Bug: webrtc:14852
Change-Id: I1d795e695dac5c78e86ed829b24281e61066f668
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324282
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40997}
2023-10-24 06:43:50 +00:00
qwu16
ae82df718c Add codec name H265 to support H265 in WebRTC
Bug: webrtc:13485
Change-Id: I352b15a65867f0d56fc8e9a9e03081bd3258108e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/316283
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40773}
2023-09-20 09:25:32 +00:00
Artem Titov
f92cc6d7b4 Reland: FrameGeneratorCapturer: don't generate video before Start is called
It is partial reland, which adds call to Start() to all relevant places,
but doesn't actually switches frame generator to not produce frames from
the moment it was created.

Bug: b/272350185
Change-Id: I6e3bd7af6f5cd8d9baff79c2aada7b2ddfae1c8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310782
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40379}
2023-06-29 14:47:05 +00:00
Mirko Bonadei
2d7ccb4149 Revert "FrameGeneratorCapturer: don't generate video before Start is called"
This reverts commit 00a8576a67.

Reason for revert: Speculative rollback (performance metrics change)

Original change's description:
> FrameGeneratorCapturer: don't generate video before Start is called
>
> Bug: b/272350185
> Change-Id: I3c264df49e952c8f852feb08607b8d4e320b15fb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/309860
> Reviewed-by: Jeremy Leconte <jleconte@google.com>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Florent Castelli <orphis@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40336}

Bug: b/272350185, b/288515909
Change-Id: I66fc61d5d4d1c17f46f1f5b4fc6ff64a9b2012f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310681
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#40372}
2023-06-28 19:58:41 +00:00
Artem Titov
00a8576a67 FrameGeneratorCapturer: don't generate video before Start is called
Bug: b/272350185
Change-Id: I3c264df49e952c8f852feb08607b8d4e320b15fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/309860
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40336}
2023-06-22 14:00:22 +00:00
Harald Alvestrand
f785bd46e8 Split WebRtcVideoMediaChannel into Send and Receive
This completes the split-channel work for the Video side.
Note: For ease of review, the implementations in the .cc
file have not been sorted between sender and receiver. This
can be done in a later purely-editorial CL.

Bug: webrtc:13931
Change-Id: I36cf015d5facb1eed368070cb204a8763ac19a9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307180
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40207}
2023-06-02 12:16:56 +00:00
Artem Titov
8a9f3a8f53 Reland "Remove dependency of video_replay on TestADM."
This reverts commit f9e3bdd2ce.

Reason for revert: reland with fix

Original change's description:
> Revert "Remove dependency of video_replay on TestADM."
>
> This reverts commit 01716663a9.
>
> Reason for revert:  breaking CallPerfTest
> https://ci.chromium.org/ui/p/webrtc/builders/perf/Perf%20Android32%20(R%20Pixel5)/967/overview 
>
> Original change's description:
> > Remove dependency of video_replay on TestADM.
> >
> > This should remove requirement to build TestADM in chromium build.
> >
> > Bug: b/272350185, webrtc:15081
> > Change-Id: Iceb8862aa81099c22bd378ae692229f01ab3314c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302380
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Artem Titov <titovartem@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39934}
>
> Bug: b/272350185, webrtc:15081
> Change-Id: I73aa0fd3c3d8c244d20e5f29f5792a4c7d7e4165
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303160
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Jeremy Leconte <jleconte@google.com>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#39939}

Bug: b/272350185, webrtc:15081
Change-Id: I360ef3e140e60fc21d622480d1f3326e40a76f58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303400
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39946}
2023-04-25 09:39:22 +00:00
Jeremy Leconte
f9e3bdd2ce Revert "Remove dependency of video_replay on TestADM."
This reverts commit 01716663a9.

Reason for revert:  breaking CallPerfTest
https://ci.chromium.org/ui/p/webrtc/builders/perf/Perf%20Android32%20(R%20Pixel5)/967/overview 

Original change's description:
> Remove dependency of video_replay on TestADM.
>
> This should remove requirement to build TestADM in chromium build.
>
> Bug: b/272350185, webrtc:15081
> Change-Id: Iceb8862aa81099c22bd378ae692229f01ab3314c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302380
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39934}

Bug: b/272350185, webrtc:15081
Change-Id: I73aa0fd3c3d8c244d20e5f29f5792a4c7d7e4165
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303160
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39939}
2023-04-24 19:02:23 +00:00
Artem Titov
01716663a9 Remove dependency of video_replay on TestADM.
This should remove requirement to build TestADM in chromium build.

Bug: b/272350185, webrtc:15081
Change-Id: Iceb8862aa81099c22bd378ae692229f01ab3314c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302380
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39934}
2023-04-24 13:17:45 +00:00
Per K
217b384c1b Remove rtp header extension from config of Call audio and video receivers
These configurations are no longer used by call. Header extensions are identified once when demuxing packets in WebrtcVideoEngine::OnPacketReceived and WebrtcVoiceEngine::OnPacketReceived.

Change-Id: I49de9005f0aa9ab32f2c5d3abcdd8bd12343022d
Bug: webrtc:7135
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291480
Owners-Override: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39236}
2023-01-31 11:58:43 +00:00
Per K
b3046c25aa Use PacketReceiver::DeliverRtpPaket in scenario tests
Change-Id: I36db102d023e4b716ce33a0afcff38b79b59b622

Bug: webrtc:7135
Change-Id: I36db102d023e4b716ce33a0afcff38b79b59b622
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290883
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39090}
2023-01-12 16:57:28 +00:00
Per K
9253240305 Reland "Remove use of ReceiveStreamRtpConfig:transport_cc"
This is a reland of commit 97ba853295
This cl did not cause the regression in Chrome rolls https://chromium-review.googlesource.com/c/chromium/src/+/4132644?tab=checks. Real culprit reverted in https://webrtc-review.googlesource.com/c/src/+/290502.

Original change's description:
> Remove use of ReceiveStreamRtpConfig:transport_cc
>
> With this change, webrtc will send RTCP transport feedback for all received packets that have a transport sequence number, if the header extension
> http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions is negotiated.
> I.e the SDP attribute a=rtcp-fb:96 transport-cc is ignored.
>
>
> Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841
>
> Bug: webrtc:14802
> Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290403
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38980}

Bug: webrtc:14802
Change-Id: Ib98e61413161d462da60144942cdb0140e12bc42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290503
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38997}
2023-01-04 11:35:19 +00:00
Olga Sharonova
be5c7135f9 Revert "Remove use of ReceiveStreamRtpConfig:transport_cc"
This reverts commit 97ba853295.

Reason for revert: Suspected in breaking WebRTC into Chrome rolls https://chromium-review.googlesource.com/c/chromium/src/+/4132644?tab=checks

Original change's description:
> Remove use of ReceiveStreamRtpConfig:transport_cc
>
> With this change, webrtc will send RTCP transport feedback for all received packets that have a transport sequence number, if the header extension
> http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions is negotiated.
> I.e the SDP attribute a=rtcp-fb:96 transport-cc is ignored.
>
>
> Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841
>
> Bug: webrtc:14802
> Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290403
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38980}

Bug: webrtc:14802
Change-Id: I2b04274466a5a81d767a48ff2e001b0a04f7f541
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288943
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Auto-Submit: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Owners-Override: Christoffer Jansson <jansson@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38988}
2023-01-03 16:18:08 +00:00
Per K
97ba853295 Remove use of ReceiveStreamRtpConfig:transport_cc
With this change, webrtc will send RTCP transport feedback for all received packets that have a transport sequence number, if the header extension
http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions is negotiated.
I.e the SDP attribute a=rtcp-fb:96 transport-cc is ignored.


Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841

Bug: webrtc:14802
Change-Id: I95d8d4405dc86a2f872f7883b7bafd623d5f7841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290403
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38980}
2023-01-03 09:44:26 +00:00
Per Kjellander
59ade0172f Reland "Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream"
This reverts commit 75170be4ac.

Reason for revert: Perf regression not affecting open source.

Original change's description:
> Revert "Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream"
>
> This reverts commit d8c4de7172.
>
> Reason for revert: Tentative revert due to possible perf regression. b/260123362
>
> Original change's description:
> > Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream
> >
> > VideoSendStreamImpl::Start and VideoSendStream::Start are not used by PeerConnections, only StartPerRtpStream.
> > Therefore this cl:
> > - Change implementation of VideoSendStream::Start to use VideoSendStream::StartPerRtpStream. VideoSendstream::Start is kept for convenience.
> > - Remove VideoSendStreamImpl::Start() since it was only used by tests that use call and is confusing.
> > - RtpVideoSender::SetActive is removed/changed to RtpVideoSender::Stop(). For normal operations RtpVideoSender::SetActiveModules is used.
> >
> > Bug: none
> > Change-Id: I43b153250b07c02fe63c84e3c4cec18d4ec0d47a
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283660
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Commit-Queue: Per Kjellander <perkj@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#38698}
>
> Bug: none
> Change-Id: I4f0d27679e51361b9ec54d2ae8e4d972527875d1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/284940
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Auto-Submit: Per Kjellander <perkj@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38725}

Bug: b/260400659
Change-Id: Ie8e545edcad85284a7d612183a8e4201672d0b5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285900
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38794}
2022-12-02 12:03:25 +00:00
Per Kjellander
75170be4ac Revert "Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream"
This reverts commit d8c4de7172.

Reason for revert: Tentative revert due to possible perf regression. b/260123362

Original change's description:
> Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream
>
> VideoSendStreamImpl::Start and VideoSendStream::Start are not used by PeerConnections, only StartPerRtpStream.
> Therefore this cl:
> - Change implementation of VideoSendStream::Start to use VideoSendStream::StartPerRtpStream. VideoSendstream::Start is kept for convenience.
> - Remove VideoSendStreamImpl::Start() since it was only used by tests that use call and is confusing.
> - RtpVideoSender::SetActive is removed/changed to RtpVideoSender::Stop(). For normal operations RtpVideoSender::SetActiveModules is used.
>
> Bug: none
> Change-Id: I43b153250b07c02fe63c84e3c4cec18d4ec0d47a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283660
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38698}

Bug: none
Change-Id: I4f0d27679e51361b9ec54d2ae8e4d972527875d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/284940
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38725}
2022-11-24 14:18:45 +00:00
Per Kjellander
d8c4de7172 Remame VideoSendStream::UpdateActiveSimulcastLayers to StartPerRtpStream
VideoSendStreamImpl::Start and VideoSendStream::Start are not used by PeerConnections, only StartPerRtpStream.
Therefore this cl:
- Change implementation of VideoSendStream::Start to use VideoSendStream::StartPerRtpStream. VideoSendstream::Start is kept for convenience.
- Remove VideoSendStreamImpl::Start() since it was only used by tests that use call and is confusing.
- RtpVideoSender::SetActive is removed/changed to RtpVideoSender::Stop(). For normal operations RtpVideoSender::SetActiveModules is used.

Bug: none
Change-Id: I43b153250b07c02fe63c84e3c4cec18d4ec0d47a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283660
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38698}
2022-11-21 12:41:39 +00:00
Jonas Oreland
80c87d7151 RtpEncodingParameters::request_resolution patch 2
This cl/ implements configuring of encode resolution
in the video_stream_encoder (webrtc_video_engine) in
a way that is independent of frame resolution (i.e
not using scale_resolution_down_by).

The cl/ reuses the VideoAdapter as is, and hence
the output resolution will be the same as it is today.

Anticipated further patches
3) Hook up resource adaptation
4) Let VideoSource do adaption if possible

Bug: webrtc:14451
Change-Id: I881b031c5b23be26cacfe138730154f1cb1b66a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276742
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38245}
2022-09-29 14:10:44 +00:00
Jonas Oreland
1262eb5ebc Move EncoderStreamFactory into own file
This cl/ is a NOP refactoring,
moving the EncoderStreamFactory from within webrtc_video_engine.cc
into own file in video/. simulcast.cc is collateral.

Bug: webrtc:14451
Change-Id: Ia69b9241d8cd8a12be6628d887701f2e244c07cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276861
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38224}
2022-09-27 17:29:11 +00:00
Niels Möller
4a5a3da00a Change VideoStreamConfig to use vector of scalability modes.
Each entry represents one simulcast stream.

Bug: webrtc:11607
Change-Id: If78ff334fdb99322deded57f0cbe7ebad7de5abc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265960
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37272}
2022-06-20 09:23:31 +00:00
Tommi
f6f4543304 Rename VideoReceiveStream to VideoReceiveStreamInterface
Bug: webrtc:7484
Change-Id: I653cfe46486e0396897dd333069a894d67e3c07b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262769
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36958}
2022-05-22 10:54:38 +00:00
Niels Möller
cf2c8915f4 Delete H264EncoderSpecificSettings
Production code always use the default settings.

Bug: webrtc:6883
Change-Id: I213fc6433bb1cd0a6623ad523fee2df1506588e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261903
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36926}
2022-05-18 13:53:20 +00:00
Niels Möller
807328fec7 Move frame drop config to VideoCodec and VideoEncoderConfig.
Intend to delete corresponding codec-specific settings in a followup.

Bug: webrtc:6883
Change-Id: I78ab07729a5aee1055f80d39d8f7289beb6721e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262244
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36882}
2022-05-13 13:40:14 +00:00
Artem Titov
d3251968d1 Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED
Add implementation of RTC_DCHECK_NOTREACHED equal to the RTC_NOTREACHED.
The new macros will replace the old one when old one's usage will be
removed. The idea of the renaming to provide a clear signal that this
is debug build only macros and will be stripped in the production build.

Bug: webrtc:9065
Change-Id: I4c35d8b03e74a4b3fd1ae75dba2f9c05643101db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237802
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35348}
2021-11-15 21:44:59 +00:00
Mirko Bonadei
f135800b5c Roll chromium_revision 47dc8e2f50..680b7dae9d (912091:912910)
Change log: 47dc8e2f50..680b7dae9d
Full diff: 47dc8e2f50..680b7dae9d

Changed dependencies
* src/base: 959457e3f3..4bcc0feab1
* src/build: a0d51919fe..02ca29f24d
* src/buildtools: 6810b870e0..6f9b470988
* src/buildtools/third_party/libc++abi/trunk: 671803fd96..8452f0657d
* src/ios: 6a9bd7348f..4bdd6cc72d
* src/testing: c0ea7c3386..e3201c323d
* src/third_party: 56c558ed2e..0f2f057998
* src/third_party/androidx: v5A41FDtUTUgWmjkgJS42X4yMcKx2zbPp8fWod32rhsC..8ehN1uRQQBM3VrBh28TpSvhV4AmGQRMCfN6Fm1L5y9QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/126f6a8996..77a7089299
* src/third_party/depot_tools: 0c42eff6d1..9a0189cd7a
* src/third_party/perfetto: 303b88cfe5..95e9c5e207
* src/tools: b54abb9ed0..bb864a1e83
DEPS diff: 47dc8e2f50..680b7dae9d/DEPS

Clang version changed llvmorg-14-init-1002-gb5e470aa:llvmorg-14-init-1380-gee659383
Details: 47dc8e2f50..680b7dae9d/tools/clang/scripts/update.py

TBR=mbonadei@webrtc.org,
BUG=None


Fix roll

Change-Id: Ie0b20fe417ce893b6905f0b3c02053e09b83de8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229102
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34792}
2021-08-18 10:22:27 +00:00
Tommi
1c1f540487 Factor out common receive stream methods to a common interface.
Also including common Rtp config members.
Follow up changes will remove the ReceiveRtpConfig class in Call
and copy of extension headers, instead use the config directly
from the receive streams and not require stream recreation for changing
the headers.

Bug: webrtc:11993
Change-Id: I29ff3400d45d5bffddb3ad0a078403eb102afb65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221983
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34283}
2021-06-14 16:54:07 +00:00
Tommi
87f7090fd9 Replace more instances of rtc::RefCountedObject with make_ref_counted.
This is essentially replacing `new rtc::RefCountedObject` with
`rtc::make_ref_counted` in many files. In a couple of places I
made minor tweaks to make things compile such as adding parenthesis
when they were missing.

Bug: webrtc:12701
Change-Id: I3828dbf3ee0eb0232f3a47067474484ac2f4aed2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215973
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33852}
2021-04-27 17:01:59 +00:00
Mirko Bonadei
5686e3457e Optimize calls to std::string::find() and friends for a single char.
The character literal overload is more efficient.

No-Presubmit: True
No-Try: True
Bug: None
Change-Id: Ice0b8478accd8a252ab81a0496d46c0f71db3db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197810
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32841}
2020-12-16 09:01:44 +00:00
Erik Språng
279f37052c Makes WebRTC-Pacer-SmallFirstProbePacket default enabled.
This is expected to yield slightly higher bandwidth estimates when
probing is used, since it reduces a bias in how packet sizes are counted.

Bug: webrtc:11780
Change-Id: I6a4a3af0c50670d248dbe043a4d9da60915e3699
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187491
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32394}
2020-10-13 21:45:42 +00:00
Erik Språng
3e3e16682d Migrates probing end-to-end test to scenario test.
The previous tests ran in real-time making them flaky, so they were
disabled on a number of platforms.
This CL ports the tests 1:1 (sort of) to use the scenario test
framework which runs with simulated time and much less risk of
flakiness.

Bug: webrtc:10155
Change-Id: I6281f57d73883c8aaa91964e9cfa58d9b47779fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186941
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32333}
2020-10-06 20:51:35 +00:00
Philip Eliasson
2b068ce1b8 Reland "Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory."
This reverts commit a4f23ad0ce.

Reason for revert: Downstream fix landed.

TBR=mflodman@webrtc.org

Original change's description:
> Revert "Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory."
>
> This reverts commit acb9d8365a.
>
> Reason for revert: Break downstream stuff.
>
> Original change's description:
> > Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory.
> >
> > Bug: webrtc:9106
> > Change-Id: I85712f3ab6a734d3fad7819491d3b8e3388b47e7
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180342
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31834}
>
> TBR=nisse@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org
>
> Change-Id: I6cfdb85a154a78135839f84edf5f69673d5ab715
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9106
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180807
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31835}

TBR=nisse@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org

# Not skipping CQ checks because this is a reland.

Bug: webrtc:9106
Change-Id: I03b3e68532107bec37bcc6e47a5489c84fe91ef9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180808
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31866}
2020-08-06 11:50:08 +00:00
Philip Eliasson
a4f23ad0ce Revert "Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory."
This reverts commit acb9d8365a.

Reason for revert: Break downstream stuff.

Original change's description:
> Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory.
> 
> Bug: webrtc:9106
> Change-Id: I85712f3ab6a734d3fad7819491d3b8e3388b47e7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180342
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31834}

TBR=nisse@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org

Change-Id: I6cfdb85a154a78135839f84edf5f69673d5ab715
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9106
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180807
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31835}
2020-08-03 15:45:41 +00:00
philipel
acb9d8365a Moved VideoReceiveStream::Decoder::decoder_factory to VideoReceiveStream::Config::decoder_factory.
Bug: webrtc:9106
Change-Id: I85712f3ab6a734d3fad7819491d3b8e3388b47e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180342
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31834}
2020-08-03 14:10:37 +00:00
Markus Handell
a5a4be1118 Partly migrate test/ to webrtc::Mutex.
This change migrates test/, except for subdirs
  - test/time_controller
  - test/pc/e2e

Bug: webrtc:11567
Change-Id: Ib6f7c062f1c66caf7083fb4ec60727d66299dbeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178819
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31675}
2020-07-08 14:31:00 +00:00
Mirko Bonadei
06d3559b79 Replace std::string::find() == 0 with absl::StartsWith (part 2).
This CL has been generated using clang-tidy [1] except for changes to
BUILD.gn files.

[1] - https://clang.llvm.org/extra/clang-tidy/checks/abseil-string-find-startswith.html

Bug: None
Change-Id: Ibf75601065a53bde28623b8eef57bec067235640
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172586
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30984}
2020-04-02 14:38:30 +00:00
Nikita Zetilov
8e9fd4857e Fix FakeVp8Encoder name.
Bug: None
Change-Id: Iaa11a452fcb6fb6f33d1396eb4e6fe9c050166ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169845
Commit-Queue: Nikita Zetilov <zetilovn@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30703}
2020-03-06 11:12:21 +00:00
Sebastian Jansson
8ad3427d7f Use the last video stream for scenario tests stats.
This makes slightly more sense when looking at video resolution etc.

Bug: webrtc:9510
Change-Id: I49d39cac23d2f5d7ca09f2a27152c7519ea639f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169344
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30632}
2020-02-27 14:52:54 +00:00
Danil Chapovalov
cad3e0e2fa Replace DataSize and DataRate factories with newer versions
This is search and replace change:
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::Bytes<\(.*\)>()/DataSize::Bytes(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::bytes/DataSize::Bytes/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BitsPerSec<\(.*\)>()/DataRate::BitsPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BytesPerSec<\(.*\)>()/DataRate::BytesPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::KilobitsPerSec<\(.*\)>()/DataRate::KilobitsPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::bps/DataRate::BitsPerSec/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::kbps/DataRate::KilobitsPerSec/g"
git cl format

Bug: webrtc:9709
Change-Id: I65aaca69474ba038c1fe2dd8dc30d3f8e7b94c29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168647
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30545}
2020-02-18 16:09:50 +00:00
Sebastian Jansson
3d4d94a832 Adds scenario test for transport wide feedback based retransmission.
This ensures more end to end test coverage of the feature and captures
a wider class of regression then the existing unit test.

Bug: webrtc:9883
Change-Id: I6e74e571500c5c5d74caf8f661cac08bee8934f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/164461
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30252}
2020-01-14 16:00:14 +00:00
Sebastian Jansson
3e66a498c3 Use RTX SSRCs in scenario test framework.
Using RTX SSRCs and payload type for retransmission of video. This
corresponds to the behavior when using the peer connection API.

Bug: webrtc:9883
Change-Id: Ic0e3964d097f42219ca225513a4bc771d70ccaa4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/164460
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30248}
2020-01-14 12:04:56 +00:00
Artem Titov
33f9d2b383 Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class
Bug: webrtc:10138
Change-Id: If85290581a72f81cf60181de7a7134cc9db7716e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161327
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30033}
2019-12-07 00:54:26 +00:00
Danil Chapovalov
dc36829db0 Add VideoCodecType::kVideoCodecAV1 value
Bug: webrtc:11042
Change-Id: I3c5151c9e47679760f8f7d79270488fa8f4c7db5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159282
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29927}
2019-11-27 10:18:45 +00:00
Mirko Bonadei
317a1f09ed Use std::make_unique instead of absl::make_unique.
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00