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}
An explicit bool conversion operator will still be used implicitly
when an expression appears in "bool context", e.g., as the condition
in an if statement, or as argument to logical operators. The
`explicit` annotation prevents conversion in other contexts, e.g.,
converting both a and b to bool in an expression like `a == b`.
Bug: None
Change-Id: I79ef35b1ea831e6011ae472900375ae8a3e617ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250664
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35927}
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}
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}
This fixes a crash introduced with recent move of Scoped class for
glib objects into a separated implementation.
Bug: chromium:1291247
Change-Id: I49d56bc0811f52434213516f51ca9e8712692e15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250840
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35922}
Adds missing RTC_NO_SANITIZE("cfi-icall") attributes to a few needed
functions for PipeWire initialization. These are methods that call (or
call methods that end up inlined and call) function pointers as a result
of dlopen'ing a lib. For ShareScreencastStream, the generated
InitializeStubs method appears to trigger this; while the egl_dmabuf
destructor appears to need this due to the EglDestroyContext and
EglTerminate calls that it makes.
Bug: webrtc:13659
Change-Id: Idb4af985293224957a50d17d9042524af2b66138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250702
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35918}
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}
Moves the `Scoped` template (meant for clearing up the references) into
separate utils so as to allow for reuse in future. Other portal instances
e.g. remote desktop portal will benefit from this later.
Bug: chromium:1291247
Change-Id: Ie36415573edcbe4f697cf97b568243f09f26915d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#35916}
When the minimum mic level is overridden via the field trial named
WebRTC-Audio-AgcMinMicLevelExperiment, AGC1 can still lower the gain
beyond the minimum value (namely, when clipping is observed).
This CL changes the behavior of the field trial. When specified, the
override always applies and therefore the mic level is guaranteed to
never become lower than what the field trial specifies.
Tested: RTC call in Chromium with and without --force-fieldtrials="
WebRTC-Audio-AgcMinMicLevelExperiment/Enabled-255"
Bug: chromium:1275566
Change-Id: I42ff45add54c11084f5ca6a2b95887c627c3c3aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250141
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35914}
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}
- Switch from ptr+size to rtc::ArrayView
- Remove `AgcManagerDirect::sample_rate_hz_` since it's always 16 kHz
- Stop passing nullptr in agc_manager_direct_unittest.cc when
`AgcManagerDirect::Process()` is called
- Allow to correctly run the tests added in the child CL (see [1])
[1] https://webrtc-review.googlesource.com/c/src/+/250141
Bug: webrtc:7494
Change-Id: I0292d7038d6510ca7c58af32b6003a1e4b121b00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250541
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35910}
The 6-parameter Initialize method is removed. The has_keyboard parameter
in the StreamConfig constructor is removed together with the underlying
member and helper functions.
Bug: chromium:1271981, b/217349489
Change-Id: I7259a114a395f74f735a9c06510c0fc0f0f008e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250221
Reviewed-by: Sam Zackrisson <saza@google.com>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Auto-Submit: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35908}
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}
The FieldTrialList<T> class hold values internally in a std::vector<T>.
One call site assumes a const T& can be retrieved from the vector, but
it turns out that std::vector<bool> has a bit-packed specialization
which means a normal reference can't be generated.
To work around this, change the code to instead use
typename std::vector<T>::const_reference.
Bug: webrtc:13655
Change-Id: I2a515b7064c8760e1a59d1910d59b1bd2c7a6622
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250543
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35902}
in the case of an ip address the hostname() call will return
that. This may also avoid leaking IP addresses from DNS resolutions
and is more similar to the url originally passed into the
peerconnection (but will for example produce a fully formed url and
resolves the port if none was given).
BUG=webrtc:13652
Change-Id: I000c66f7988b4b205e38c4dde5b888e48d8f6a0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250202
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#35898}
This might be the reason causing the process to not terminate.
This CL adds also more logging.
No-Presubmit: True
Bug: webrtc:13607
Change-Id: I9fc2cf39d2c1df92670b45dd081022ce69068836
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250181
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35885}