@nisse suggested to add test for I444Buffer to VideoFrameBuffer test
in https://webrtc-review.googlesource.com/c/src/+/251303 and I agree that
they should exist.
Didn't get the time to add them before the change was merged, so here
they are.
I took the liberty of reworking the tests to extend support to any buffer
type based on PlanarYuvBuffer (only limited by interface method
implementations) but still retain the same functionality.
Bug: webrtc:13669
Change-Id: I67998b635e05e1403e2dc6cfe3483590a5788453
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251460
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36071}
This is a reland of 43fb16921b29ecd3a2d87876dda75c575e05f66a
Original change's description:
> Refactor AnalyzerConfig to use Timestamps instead of microseconds.
>
> Add optional offset-to-UTC parameter to output. This allows aligning
> the x-axis in the generated charts to other UTC-based logs.
>
> Bug: b/215140373
> Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
> Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35992}
Bug: b/215140373
Change-Id: Id2b88cc4b8078a97275d49a617581cbbd02d2c6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252380
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36066}
Also apply IWYU to all .cc files in pc/, and correct BUILD file to match.
Note: Some files came out wrong when iwyu was applied. These are not included.
Bug: none
Change-Id: Ib5ea46b8fcc505414d0447cca7218ad3afc2e321
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36064}
This test method previously didn't account for retransmissions that can
fail for valid reasons e.g. retransmitting too soon or overusing the
retransmission bandwidth budget.
Now, we keep periodically requesting retransmissions until the packets
we seek have been received.
Bug: webrtc:13480
Change-Id: Ica620049b2c6c123117f5fa270dae0a08b320948
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252283
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36061}
This avoids creating a dedicated task queue that potentially contends
with the network thread.
Bug: webrtc:251043
Change-Id: I2d54486c4235dac44b79f89d4f3d81b4d3de4026
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252282
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36058}
This makes SetChannel() consistently make 2 invokes instead of a
multiple of senders+receivers (previous minimum was 4 but could be
larger).
* Stop() doesn't hop to the worker thread.
* SetMediaChannel(), an already-required step on the worker thread for
senders and *sometimes* for receivers[1], is now consistently required
for both. This simplifies transceiver teardown and enables the next
bullet.
* Transceiver stops all senders and receivers in one go rather than
ping ponging between threads.
[1] When not required, it was done implicitly inside of Stop().
See changes in `RtpTransceiver::SetChannel`
Bug: webrtc:13540
Change-Id: Ied61636c8ef09d782bf519524fff2a31e15219a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249797
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36057}
This is a reland of 962bf1896185c0d84232f2bfae492eeb04e1236d
Original change's description:
> Use internal() in VideoTrack when invoking the source.
>
> This skips going through the proxy and potentially hide a thread hop
> should a regression occur.
>
> This CL contains a part of a previously reviewed, landed, reverted,
> relanded and re-reverted CL:
> https://webrtc-review.googlesource.com/c/src/+/250180
>
> Bug: webrtc:13540
> Change-Id: If098f5c04a263547fb53f44e9f9738b8e941a294
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251861
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36026}
Bug: webrtc:13540
Change-Id: I00e998be6614b1a478ddf02110b3a2d67bd42274
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252043
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36053}
The variable instance_count might be accessed from multiple threads when
different PeerConnectionFactory objects are used, which may create
multiple network threads. This is a pattern mostly noticed in tests.
This fixes issues with logging when run under TSAN, it should not have
any production impact.
Bug: chromium:1243702
Change-Id: Iab1412a7907545811a309cab27a3ae23b4718606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251983
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@google.com>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36045}
* The idea is copied from flags_compatibility since this file does a bit the same thing.
* Remove extra_test_args which is not used and becomes unecessary.
* Fix lint issues.
Bug: b/197492097
Change-Id: I378e163a5116ded13619f91ce50859519c9550df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252004
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36044}
This reverts commit cbfa235b3548ae1a0b8f5b80a879214ca5f1bd56.
Reason for revert: iOS bots will use flags_compatibility with isolated_script_test_output but not gtest_output.
Original change's description:
> Add the possibility to output a json gtest output to the perf tests.
>
> We use the Chromium existing flag isolated_script_test_output that we translate into gtest_output.
> This is because the Chromium flag has the same purpose as gtest_output and is already provided in the recipe modules.
>
> No-Presubmit: True
> Bug: b/197492097
> Change-Id: Ia432a85b0e0ab32008b39ffe751d11aefb9b24ea
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251041
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#35937}
No-Presubmit: True
Bug: b/197492097
Change-Id: I94e75328570f89011fbb0daf035f0072b8ea2f7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36042}
Move complexity parameter to the main VideoCodec class to enable
additional video codecs to use the parameter without creating a new
codec-specific structure.
Bug: webrtc:13694
Change-Id: Icb7cf640b178875d799f39ade8b5084e3222bb1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251921
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Michael Horowitz <mhoro@google.com>
Cr-Commit-Position: refs/heads/main@{#36040}
The problem was fixed by implementing the methid PacketDuration() in
AudioDecoderG722StereoImpl, which catches the issue in
AudioDecoder::Decode().
Bug: chromium:1280851
Change-Id: I31f974b9999f3c1c62b0e5dc39bb3e56a9a9388d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251842
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36034}
On Android, MediaCodec can request a specific layout of the input buffer.
One can use the stride and slice height to calculate the layout from
the Encoder's MediaFormat. The current code assumes
a specific layout, which is a problematic in Android 12.
Fix this by honoring the stride and slice-height.
Bug: webrtc:13427
Change-Id: I2d3e429309e3add3ae668e0390460b51e6a49eb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240680
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36033}
This is purely to aid with `git log` type statements that allows for
grouping different display names for the same address.
No-try: true
Bug: none
Change-Id: I6b0af50eac356aa864e1387f3f35c3270c211faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251941
Auto-Submit: 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@{#36032}
The flags isolated-script-test-output and isolated-script-test-perf-output need to be consumed by the tests.
The generated .app folder in added in the data list of the gni file.
This will make it available in the runtime_deps file and thus will be populated to the swarming tasks.
Bug: webrtc:13556
Change-Id: I2c75774b847d9f686c3abc00ba0400bbc3fcefae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240520
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36029}
To disable dcSCTP and fallback to usrsctp, you can use the field trial
WebRTC-DataChannel-Dcsctp/Disabled/
Also remove a hidden no-break space in dcSCTP logging causing issues in
some log parsing.
Bug: chromium:1243702
Change-Id: I46136a8913a6d803a3c63c710f3ed29523e4d773
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251867
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36027}