This is one less dependency on the task queue, and will make
things like removing resources and cleanup much easier in the future.
Bug: webrtc:11754
Change-Id: I732f1935d1b58ffe09ca2a2bf59beebc1930214d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178869
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31686}
This is a step needed for multi-stream and new mitigations. It also
cleans up needing to signal adaptation changes in mutiple places
from ResourceAdaptationProcessor.
R=hbos@webrtc.org
Bug: webrtc:11754
Change-Id: Ib185dc9f66fbb4a087eb9e970c68c3f47eafb17f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178874
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31684}
SimulatedTaskQueue::Delete() was unintentionally holding SimulatedTaskQueue::lock_ while destroying the tasks, which led to SimulatedTimeController::lock_ getting taken. The problem is fixed by destroying the tasks outside the lock.
After landing https://webrtc-review.googlesource.com/c/src/+/178818, a downstream test detected a potential deadlock between SimulatedTaskQueue and SimulatedTimeController. While the test deadlock detector did not disclose complete details, it's believed that the deadlock detector reacted because it observed another locking order than it had previously throughout the execution of the test.
Bug: webrtc:11567
Change-Id: If6eafe89e2421f0c5acc6aede3419bd4fe470599
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178875
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31679}
The K Nexus 5 bot has been upgraded to Android M, this CL fixes the
following error:
MBErr: Builder name "Perf Android32 (M Nexus5)" not found under
masters[client.webrtc.perf]
No-Try: True
Bug: webrtc:11768
Change-Id: Ie45535d622028c4d2dc553205f383b1a920c4ecc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178879
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31678}
This is a reland of bfb6124a73af8c9fb806d9798c21aa28d36b125f
Reland with no changes, the revert was just a test.
Original change's description:
> Add possibility to expand strings in the autoroller.
>
> Starting from crrev.com/c/2265498, the Chromium DEPS file has a new
> function Str(), which seems to just expand to the string it wraps.
>
> This causes the following error:
>
> NameError: name 'Str' is not defined
>
> In //tools_webrtc/autoroller/roll_deps.py.
>
> This CL adds a way to expand the string.
>
> No-Try: True
> Bug: None
> Change-Id: I4cdb43410edeed72b393f200314c0ee7eea9cb2a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178865
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31661}
TBR=jleconte@webrtc.org
No-Try: True
Bug: None
Change-Id: I616f7ef2ef68f9a9cb6c5e2ca332d860a750b239
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178900
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31677}
put default values next to the (named) members.
Remove constructor
declared as VideoQualityTestFixtureInterface::Param::Param,
but defined as VideoQualityTest::Param::Param
avoid braced initialisation for structures with lot's of fields that change over time
Bug: None
Change-Id: I647e3ace47ae981c515d6939274cb2744dd1b866
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178811
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31674}
This reverts commit bfb6124a73af8c9fb806d9798c21aa28d36b125f.
Reason for revert: Testing Autoroller notifications. I will reland this later.
Original change's description:
> Add possibility to expand strings in the autoroller.
>
> Starting from crrev.com/c/2265498, the Chromium DEPS file has a new
> function Str(), which seems to just expand to the string it wraps.
>
> This causes the following error:
>
> NameError: name 'Str' is not defined
>
> In //tools_webrtc/autoroller/roll_deps.py.
>
> This CL adds a way to expand the string.
>
> No-Try: True
> Bug: None
> Change-Id: I4cdb43410edeed72b393f200314c0ee7eea9cb2a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178865
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31661}
TBR=mbonadei@webrtc.org,jleconte@webrtc.org
Change-Id: I69f75da132d6b838b96a559712ad4c0da929021c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178877
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31673}
This ensures with DCHECK-crashes that we don't accidentally do more
blocking invokes than we think.
Remaining blocking invokes FYI:
- PrepareTransceiverStatsInfos_s_w() does 1 blocking invoke (regardless
of the number of transceivers or channels) to the worker thread. This
is because VoiceMediaChannel, VideoMediaChannel and GetParameters()
execute on the worker thread, and the result of these operations are
needed on the signalling thread.
- pc_->GetCallStats() does 1 blocking invoke to the worker thread.
These two blocking invokes can be merged, reducing the total number of
blocking invokes from 2 to 1, but this CL does not attempt to do that.
I filed https://crbug.com/webrtc/11767 for that.
Bug: webrtc:11716
Change-Id: Iebc2ab350d253fd037211cdd283825b4e5b2d446
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178867
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31670}
TrackMediaInfoMap was previously constructed on the signaling thread. It
would iterate all the senders and receivers and perform GetParameters(),
which internally would invoke on the worker thread. This resulted in as
many thread-invokes as number of receivers.
With this CL we piggyback on an existing thread-invoke, performing a
single blocking invoke for all transceivers. This is good for
performance when there is a lot of thread contention.
The code is already exercised by unit tests and integration tests.
rtc::Thread::ScopedDisallowBlockingCalls is added to DCHECK that we
don't accidentally do any other blocking invokes.
A couple of unnecessary DCHECKs had to be removed to avoid PROXY
invokes back to the signaling thread (deadlock). These DCHECKs won't be
missed.
Bug: webrtc:11716
Change-Id: I139c7434682ff627bb88351b5752320dd322d9eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178816
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31666}
Starting from crrev.com/c/2265498, the Chromium DEPS file has a new
function Str(), which seems to just expand to the string it wraps.
This causes the following error:
NameError: name 'Str' is not defined
In //tools_webrtc/autoroller/roll_deps.py.
This CL adds a way to expand the string.
No-Try: True
Bug: None
Change-Id: I4cdb43410edeed72b393f200314c0ee7eea9cb2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178865
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31661}
In production code, the maximum number of packets is by default set to
200, so we should adopt the same behavior in tests.
Bug: None
Change-Id: I415790b7cd9fb170ea7ac94685cc6bbe14efac4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178744
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31646}
Changes in effective degradation preference is now done directly
on the VideoStreamAdapter. This means that the
DegradationPreferenceListener class can be removed.
Bug: webrtc:11700
Change-Id: I9ce4b627de0279df5ef2e5a38435a6d352fbb135
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178609
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#31642}
Patch originally submitted by Lennart Grahl:
https://webrtc-review.googlesource.com/c/src/+/177527
SCTP message chunks and notifications are being delivered interleaved.
However, the way the code was structured previously, a notification
would interrupt reassembly of a message chunk and hand out the partial
message, thereby violating message integrity. This patch separates the
handling of notifications and reassembly of messages.
Additional changes:
- Remove illegal cast from non-validated u32 to enum (PPID)
- Drop partial messages if the SID has been changed but EOR not yet
received instead of delivering them. (This should never happen
anyway.)
- Don't treat TSN as timestamp (wat)
- Replace "usrsctplib/usrsctp.h" with <usrsctp.h>, allowing a hack
to be removed from media/BUILD.gn
Bug: webrtc:11708
Change-Id: I29733b03f67a3d840104b8608a7f0083466c2d0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178469
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31641}