12 Commits

Author SHA1 Message Date
Mirko Bonadei
2dcf348011 Use absl_deps in order to preapre to the Abseil component build release.
Bug: webrtc:1046390
Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31463}
2020-06-08 12:59:40 +00:00
Markus Handell
f70fbc8411 Introduces rtc_base/synchronization/mutex.h.
This change introduces a new non-reentrant mutex to WebRTC. It
enables eventual migration to Abseil's mutex.

The mutex types supportable by webrtc::Mutex are

- absl::Mutex
- CriticalSection (Windows only)
- pthread_mutex (POSIX only)

In addition to introducing the mutexes, the CL also changes
PacketBuffer to use the new mutex instead of rtc::CriticalSection.

The method of yielding from critical_section.cc was given a
mini-cleanup and YieldCurrentThread() was added to
rtc_base/synchronization/yield.h/cc.

Additionally, google_benchmark benchmarks for the mutexes were added
(test courtesy of danilchap@), and some results from a pthread/Abseil
shootout were added showing Abseil has the advantage in higher
contention.

Bug: webrtc:11567, webrtc:11634
Change-Id: Iaec324ccb32ec3851bf6db3fd290f5ea5dee4c81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176230
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31443}
2020-06-04 09:55:12 +00:00
Rasmus Brandt
7ab41e59ba Fix typo in abseil-in-webrtc.md.
NOTRY=True  # ios bots failing

Bug: None
Change-Id: Id3f3ea98be9cfef22c3431ae30cc15e282423ee2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162521
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30110}
2019-12-18 14:27:34 +00:00
Mirko Bonadei
c128df14ee Update style guide for absl::make_unique.
No-Try: True
Bug: webrtc:10945
Change-Id: I707aefda5d5b224d78b97ce3122e095c7b9b1f1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153356
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29216}
2019-09-18 06:10:58 +00:00
Elad Alon
e86af2c75f Allowing buffering a LNTF (loss notification) feedback message in RTCPSender
Loss notifications may either be sent immediately, or wait until another
RTCP feedback message is sent.

Bug: webrtc:10336
Change-Id: I40601d9fa1dec6c17b2ce905cb0c8cd2dcff7893
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139242
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28142}
2019-06-03 16:28:34 +00:00
Karl Wiberg
bd0decab82 Ban absl::StrSplit and absl::StrJoin
For binary size reasons; they emit too many instructions at each call
site.

I decided to not point out replacements for them, since rtc::join has
only one caller, and rtc::split isn't the only option for splitting
strings. And both of them have APIs that can cause the creation of
needless temporary strings.

Bug: none
Change-Id: I06161012836a90b09249c2813d2ddc15f167d580
Notry: true
Reviewed-on: https://webrtc-review.googlesource.com/c/124480
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26846}
2019-02-26 00:45:11 +00:00
Danil Chapovalov
47cf5eaca4 Migrate gcd task queue implementation to TaskQueueBase interface
Bug: webrtc:10191
Change-Id: If15138f97445484668d3e42f3a35875521c38545
Reviewed-on: https://webrtc-review.googlesource.com/c/122501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26782}
2019-02-20 17:08:53 +00:00
Steve Anton
1c9c9fc9b6 Replace replace_substrs with Abseil
Bug: None
Change-Id: I155cc29db951ef1b812691c57aaafe037fbeb230
Reviewed-on: https://webrtc-review.googlesource.com/c/114241
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26699}
2019-02-15 01:22:54 +00:00
Steve Anton
e76ca61238 Allow use of functions in absl/algorithms
Bug: None
Change-Id: Id8311e6374228675cd34e413411611c77ed2d36d
Reviewed-on: https://webrtc-review.googlesource.com/c/119963
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26427}
2019-01-28 18:42:16 +00:00
Jiawei Ou
a6e034adb9 Rebase std::is_trivially_* with absl::is_trivially_*
std::is_trivially_* is not available on certain old STL
implementations. Using absl implementation will allow
maximized compatibility.

Bug: webrtc:10054
Change-Id: I17ed0fff44328b3d7c51d14e8c4470f1df0e66ad
Reviewed-on: https://webrtc-review.googlesource.com/c/111728
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25788}
2018-11-26 19:20:27 +00:00
Niels Möller
3c7d599750 Replace _stricmp with absl::EqualsIgnoreCase
All uses check only for equality.

Bug: webrtc:6424
Change-Id: I8755dde02370c89dbc2226bb703664c9e4f88bdb
Reviewed-on: https://webrtc-review.googlesource.com/c/106383
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25274}
2018-10-19 14:17:31 +00:00
Karl Wiberg
c3af97d68c Add a list of allowed and disallowed Abseil things
Bug: webrtc:8821
Change-Id: Ifb3bacd3403bbf823c78fff47571a83159f1da73
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/95880
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24437}
2018-08-27 08:37:20 +00:00