GN recently added support for Apple frameworks to link, rather than
overloading the libs lists. This pulls .frameworks out of the libs
lists, so that GN can stop supporting .frameworks in libs in the
future.
Bug: chromium:1052560
Change-Id: I263230ddd3c468061584423bba9e1f887503bcaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178601
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#31632}
If num_wrap_ is zero this will result in a left shift of a
negative number, which is undefined behaviour.
Bug: webrtc:11742
Change-Id: I4a6ac448c5af82e15beb25ed55c16bab26e6ee5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178441
Commit-Queue: Dan Minor <dminor@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31608}
Policy will allow explicitly specify thread between which invokes are
allowed, or explicitly forbid any invokes.
Change-Id: I360e7cba3ce1c21abd5047c6f175d8c4e0e99c6f
Bug: webrtc:11728
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177526
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31604}
This introduces a new class for encapsulating the QualityRampupExperiment
R=hbos@webrtc.org
Bug: webrtc:11553
Change-Id: If2f2347cdcbd0c79821355f90e2d7ad3171143b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176363
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31531}
When using a SequenceChecker, this adds a bit more information
about why the check failed.
Example (The "Expects" line is new):
# Fatal error in: foo.cc, line 380
# last system error: 0
# Check failed: (&thread_checker_)->IsCurrent()
# Expects: System queue: 0x7fff69541330, TaskQueue: 0x101804370 (not current), Thread: 0x10053cdc0
Bug: none
Change-Id: I3743e1d80f369f15219de5946e9e081f998b9b17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176569
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31466}
Fairshare mutexes performed really badly during a Catalina
performance test. This change switches them to use
the _PTHREAD_MUTEX_POLICY_FIRSTFIT policy instead.
Bug: webrtc:11567, webrtc:11648
Change-Id: I2b8fbe3183beefc26f8d4ff3d63dc6958174605f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176504
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31456}
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}
Since we've passed IsConsistent(), if data_ is null, size_ must be
zero, so we might attempt to copy zero bytes from a nullptr. This does
not seem to cause problems in practice, but is still undefined
behaviour. This was caught on an UBsan test run in Firefox.
Bug: webrtc:11613
Change-Id: Iad795bf19ed69b56e066958a54a7e3a434b996cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176280
Commit-Queue: Dan Minor <dminor@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31386}
This change removes dependency on SignalThread which is a
heavy user of re-entered mutexes, and is a step to being
able to delete SignalThread.
The new AsyncResolver is based on task queue instead.
Bug: webrtc:11567, webrtc:7723
Change-Id: Iab125ccbc0fb9d72af44341e58f89b3868c952cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175910
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31361}
This change fixes a problem where the eventual destruction of a
completed resolver sometimes doesn't happen. This is because the
destruction is posted to the network thread, and if it's destroyed
before the closure is executed, the resolver is leaked.
The fix is in three parts:
1. The resolver->Destroy call is performed on closure destruction
to make sure it will always run.
2. The closure is executed with task queue. This because the
RTC_DCHECK on thread:140 fires with the invoker_.
3. It's not possible to guarantee the context Destroy is called on due
to TaskQueue semantics. Therefore SignalThread::Destroy was changed
to accept any calling context and only requiring it's the last
public call to the object.
For unknown reasons, this leak doesn't trigger the leak checker, see
referred bugs for further investigation.
Bug: webrtc:7723, webrtc:11605, chromium:905542
Change-Id: I2681ff1d2416ccbc564974a65ac84781a9ed7aee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176125
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31359}
This change deletes heap-based handling of dynamic number of epoll
events handled per call to epoll, with the assumption
that PSS load is likely not dominated by the epoll syscalls. This
simplifies the logic in the code and removes a heap allocation.
Bug: webrtc:11567
Change-Id: I34fbe1fa8bf0a037bf849a4adac1a0a333c9dd86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175563
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31358}
This change uses index instead of iterator to access elements in
`all_targets` to avoid using invalidated iterator after insertion.
MSVC 2019 reports "cannot increment value-initialized deque iterator".
And C++ standard says "an insertion at either end of the deque
invalidates all the iterators to the deque".
Bug: webrtc:11255
Change-Id: I2167bfe875bb0059e81eba334bbd6921e287d6d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176101
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31354}
Since RateStatistics is in practice always used with increasing
timestamps, and is often sparesely populated, replace the pre-allocated
ring buffer with a simple deque where each element tracks which time it
represents.
Bug: webrtc:11600
Change-Id: I866d7cfa607228c35452f0f19575825d2e694f75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175906
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31344}
This will improve support for tests that use Clock as well as offer
a way to remove use of Sleep() in the tests.
Bug: none
Change-Id: I25fd0c6fc1b52ec0c917e56fae6807b136213d8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175566
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31305}
This reverts commit d0d55515c4b88a07446bc66a5c183f50ee896282.
Reason for revert: Relanding with workaround.
Original change's description:
> Revert "Use Windows 10 thread naming API"
>
> This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c.
>
> Reason for revert: Reverting while downstream issue is resolved.
>
> Original change's description:
> > Use Windows 10 thread naming API
> >
> > While profiling video chat in Chrome I noticed that some of the webrtc
> > threads were not named. This change adds conditional use of the thread
> > naming APIs. These thread names work even if you attach a debugger after
> > the thread is named, and they show up in ETW traces, for easier
> > profiling.
> >
> > The sctp_create_thread_adapter threads are still not named but since
> > those are in C files they would require a C++-with-extern-C interface
> > to fix, so I'm leaving them for now.
> >
> > Bug: webrtc:10745
> > Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31285}
>
> TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org
>
> Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10745
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347
> Reviewed-by: Tommi <tommi@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31289}
TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org
Bug: webrtc:10745
Change-Id: I51ee413fd8a0ff62f6b8b2a11f546b2a70168842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175349
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31292}
Also re-enable the TestAnnotationsOnWrongQueueDebug test and rename
the test suite to SequenceCheckerDeathTest so that it gets executed
before other tests.
Bug: webrtc:11577
Change-Id: I3b8037644e4b9139755ccecb17e42b09327e4996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175346
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31290}
This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c.
Reason for revert: Reverting while downstream issue is resolved.
Original change's description:
> Use Windows 10 thread naming API
>
> While profiling video chat in Chrome I noticed that some of the webrtc
> threads were not named. This change adds conditional use of the thread
> naming APIs. These thread names work even if you attach a debugger after
> the thread is named, and they show up in ETW traces, for easier
> profiling.
>
> The sctp_create_thread_adapter threads are still not named but since
> those are in C files they would require a C++-with-extern-C interface
> to fix, so I'm leaving them for now.
>
> Bug: webrtc:10745
> Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280
> Commit-Queue: Tommi <tommi@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31285}
TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org
Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10745
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31289}
While profiling video chat in Chrome I noticed that some of the webrtc
threads were not named. This change adds conditional use of the thread
naming APIs. These thread names work even if you attach a debugger after
the thread is named, and they show up in ETW traces, for easier
profiling.
The sctp_create_thread_adapter threads are still not named but since
those are in C files they would require a C++-with-extern-C interface
to fix, so I'm leaving them for now.
Bug: webrtc:10745
Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31285}
This reverts commit af1b9ceb62dce3462083f9a44e26ee6d79639cef.
Reason for revert: Speculative reland after looking into downstream
failures. It's possible that carryover state from unrelated tests
running in parallel was causing failures.
Original change's description:
> Revert "Revert back to using the task_queue_ for guarding access."
>
> This reverts commit 475006d4a30f8bc47f82eb540a6a066da2829095.
>
> Reason for revert: Speculative revert. Breaks downstream project
>
> Original change's description:
> > Revert back to using the task_queue_ for guarding access.
> >
> > This removes the SequenceChecker that was temporarily used while
> > the rtc::Thread TQ implementation was being fixed.
> >
> > Bug: none
> > Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31256}
>
> TBR=tommi@webrtc.org,srte@webrtc.org
>
> Change-Id: I17a12bdca888a63f2fd161da30c0def5b9c3d04e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: none
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175103
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31258}
TBR=tommi@webrtc.org,srte@webrtc.org,titovartem@webrtc.org
# Not skipping CQ checks because this is a reland.
Bug: none
Change-Id: I23992643126d7d6dae63da1bb14420b2b8794fd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175135
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31283}
This reverts commit 28685dc08cb34f756f9200519fba3222ba3a66f2.
Reason for revert: Speculative reland after looking into downstream
failures. It's possible that carryover state from unrelated tests
running in parallel was causing failures.
Original change's description:
> Revert "Make sure that "current" rtc::Thread instances are always current for TaskQueueBase."
>
> This reverts commit 46b3bc6c24c233fe41a2401ce6e8eb8204a2d5a8.
>
> Reason for revert: Speculative revert. Breaks downstream project
>
> Original change's description:
> > Make sure that "current" rtc::Thread instances are always current for TaskQueueBase.
> >
> > This is a necessary part of fulfilling the TaskQueueBase
> > interface. If a thread does not register as the current TQ, yet offers
> > the TQ interface, TQ 'current' checks will not work as expected and
> > code that relies them (TaskQueueBase::Current() and IsCurrent())
> > will run in unexpected ways.
> >
> > Bug: webrtc:11572
> > Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31254}
>
> TBR=mbonadei@webrtc.org,tommi@webrtc.org
>
> Change-Id: I69ff3355f0ec447b25604bd95fdacbdb4d4f3f27
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11572
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175104
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31259}
TBR=mbonadei@webrtc.org,tommi@webrtc.org,titovartem@webrtc.org
# Not skipping CQ checks because this is a reland.
Bug: webrtc:11572
Change-Id: I00c82d99af8e05851769e09cb682b5b73895a6f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175133
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31273}
This reverts commit 46b3bc6c24c233fe41a2401ce6e8eb8204a2d5a8.
Reason for revert: Speculative revert. Breaks downstream project
Original change's description:
> Make sure that "current" rtc::Thread instances are always current for TaskQueueBase.
>
> This is a necessary part of fulfilling the TaskQueueBase
> interface. If a thread does not register as the current TQ, yet offers
> the TQ interface, TQ 'current' checks will not work as expected and
> code that relies them (TaskQueueBase::Current() and IsCurrent())
> will run in unexpected ways.
>
> Bug: webrtc:11572
> Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31254}
TBR=mbonadei@webrtc.org,tommi@webrtc.org
Change-Id: I69ff3355f0ec447b25604bd95fdacbdb4d4f3f27
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11572
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175104
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31259}
This reverts commit 475006d4a30f8bc47f82eb540a6a066da2829095.
Reason for revert: Speculative revert. Breaks downstream project
Original change's description:
> Revert back to using the task_queue_ for guarding access.
>
> This removes the SequenceChecker that was temporarily used while
> the rtc::Thread TQ implementation was being fixed.
>
> Bug: none
> Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
> Commit-Queue: Tommi <tommi@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31256}
TBR=tommi@webrtc.org,srte@webrtc.org
Change-Id: I17a12bdca888a63f2fd161da30c0def5b9c3d04e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175103
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31258}
This removes the SequenceChecker that was temporarily used while
the rtc::Thread TQ implementation was being fixed.
Bug: none
Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31256}
This is a necessary part of fulfilling the TaskQueueBase
interface. If a thread does not register as the current TQ, yet offers
the TQ interface, TQ 'current' checks will not work as expected and
code that relies them (TaskQueueBase::Current() and IsCurrent())
will run in unexpected ways.
Bug: webrtc:11572
Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31254}
ScopedTaskSafety simplifies usage of PendingTaskSafetyFlag,
so this CL also includes ToQueuedTask support for ScopedTaskSafety
and test updates.
This is following up on feedback in the following CL:
https://webrtc-review.googlesource.com/c/src/+/174262
Change-Id: Idd38dfc1914b24a05fdc4ad256b409dcf1795fc0
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174740
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31241}
This field trial will be used to rollout the cellular costs added
in https://webrtc-review.googlesource.com/c/src/+/172582 in
a controlled fashion.
Bug: webrtc:11473
Change-Id: I14fd5cada187ba161124325a7ff69d355ef52b25
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174880
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31233}
This CL adds a Release method for the FileWrapper class that allows it
to release the wrapped FILE* object without closing it.
Bug: b/155316201
Change-Id: If9ef4345724705dc7c66183f17bd8daadbdd00b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174720
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31183}
NullSocketServer needs to be exported in order to use it in
JingleThreadWrapper in chromium.
Bug: none
Change-Id: I9bce49c764a1ca1c28fc44041d0d5f04f794066e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173920
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#31174}
This keeps usage of ToQueuedTask consistent and avoids callers having
to add additional boiler plate when using the safety flag.
From this:
tq->PostTask(ToQueuedTask([safety = my_safety_flag_]() {
if (!safety->alive())
return;
Foo();
});
to this:
tq->PostTask(ToQueuedTask(my_safety_flag_, []() {
Foo();
});
Bug: none
Change-Id: I205af56a64dd9839eb845321083d533140d614ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174262
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31161}
This CL introduced 2 new macros that affect the WebRTC OBJC API symbols:
- RTC_OBJC_TYPE_PREFIX:
Macro used to prepend a prefix to the API types that are exported with
RTC_OBJC_EXPORT.
Clients can patch the definition of this macro locally and build
WebRTC.framework with their own prefix in case symbol clashing is a
problem.
This macro must only be defined by changing the value in
sdk/objc/base/RTCMacros.h and not on via compiler flag to ensure
it has a unique value.
- RCT_OBJC_TYPE:
Macro used internally to reference API types. Declaring an API type
without using this macro will not include the declared type in the
set of types that will be affected by the configurable
RTC_OBJC_TYPE_PREFIX.
Manual changes:
https://webrtc-review.googlesource.com/c/src/+/173781/5..10
The auto-generated changes in PS#5 have been done with:
https://webrtc-review.googlesource.com/c/src/+/174061.
Bug: None
Change-Id: I0d54ca94db764fb3b6cb4365873f79e14cd879b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173781
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31153}