webrtc/infra/specs/mixins_webrtc.pyl
Austin Orion 81797744fd Reland "Wait for frames to arrive in WgcCapturer instead of returning nothing."
This reverts commit dd32562f24.

Reason for revert: Updated the original change to dynamically load
the CoreMessaging.dll instead of statically linking with the .lib.

Original change's description:
> Revert "Wait for frames to arrive in WgcCapturer instead of returning nothing."
>
> This reverts commit 93bb305149.
>
> Reason for revert: It breaks a test while rolling into Chromium,
> see https://webrtc-review.googlesource.com/c/src/+/261780/21#message-4a96e33bfb475f19a618be82bbe72951b23085ef for details.
>
> Original change's description:
> > Wait for frames to arrive in WgcCapturer instead of returning nothing.
> >
> > We're seeing a high instance of "first capture failed" in Chromium when
> > using WGC. We can reduce this by waiting for frames to arrive if there
> > are none in the frame pool instead of returning a temporary error.
> >
> > I've set the maximum time to wait for a frame to 50ms. If no frame
> > arrives before 50ms has elapsed, we will return a temporary error.
> > Added a new test, FirstCaptureSucceeds, to verify that this is working
> > as expected.
> >
> > As part of this I updated the name of the `kCreateFreeThreadedFailed`
> > enum value to `kCreateFramePoolFailed`. The value remains the same
> > since they both report failures in frame pool creation.
> >
> > I also increased `kNumBuffers` from 1 to 2, so that the frame pool can
> > store two frames. This should prevent us from having to wait on the
> > event as frequently. This will increase the latency between capture
> > and display, however. High frame rate applications should not be
> > noticeably affected.
> >
> > Additionally, we uncovered a bug in the OS that prevents window capture
> > when there are displays attached, but none of them are active. Added
> > a new check to `IsWgcSupported` to cover this scenario.
> >
> > Finally, some issues with other WGC tests blocked moving the TryBots
> > to a newer version of Windows. This CL fixes those issues and updates
> > the TryBot configuration.
> >
> > bug: chromium:1314868
> > Change-Id: Id9c4d5ee98621e682ef04864c3848d50e761cdb7
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261780
> > Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> > Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> > Commit-Queue: Austin Orion <auorion@microsoft.com>
> > Reviewed-by: Jeremy Leconte <jleconte@google.com>
> > Cr-Commit-Position: refs/heads/main@{#37404}
>
> Change-Id: If237df4826fe20b6fe2ca4b57253623321bf33c5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267460
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37408}

Change-Id: I6cc2becd9ed363782ab2f326f58d9401bc8fb820
Bug: chromium:1314868
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267902
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#37470}
2022-07-06 20:28:26 +00:00

263 lines
5.1 KiB
Text

# Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'android-devices': {
'swarming': {
'dimensions': {
'android_devices': '1',
},
},
},
'baremetal-pool': {
'swarming': {
'dimensions': {
'pool': 'WebRTC-baremetal',
},
},
},
'baremetal-try-pool': {
'swarming': {
'dimensions': {
'pool': 'WebRTC-baremetal-try',
},
},
},
'cores-12': {
'swarming': {
'dimensions': {
'cores': '12',
}
}
},
'ios-device-15.3': {
'swarming': {
'dimensions': {
'os': 'iOS-15.3',
'pool': 'chrome.tests',
},
},
},
'ios-device-perf': {
'swarming': {
'idempotent': False,
'dimensions': {
'os': 'iOS-12.4.1',
'pool': 'WebRTC',
'id': 'build15-a7',
},
},
},
'ios-simulator-12.4': {
'$mixin_append': {
'args': [
'--platform',
'iPhone X',
'--version',
'12.4',
],
'swarming': {
'named_caches': [
{
'name': 'runtime_ios_12_4',
'path': 'Runtime-ios-12.4',
},
],
},
}
},
'ios-simulator-13.6': {
'$mixin_append': {
'args': [
'--platform',
'iPhone X',
'--version',
'13.6',
],
'swarming': {
'named_caches': [
{
'name': 'runtime_ios_13_6',
'path': 'Runtime-ios-13.6',
},
],
},
}
},
'ios-simulator-14.5': {
'$mixin_append': {
'args': [
'--platform',
'iPhone X',
'--version',
'14.5',
],
'swarming': {
'named_caches': [
{
'name': 'runtime_ios_14_5',
'path': 'Runtime-ios-14.5',
},
],
},
}
},
'quick-perf-tests': {
'$mixin_append': {
'args': [
'--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/',
'--nologs',
],
}
},
'linux': {
'swarming': {
'dimensions': {
'os': 'Ubuntu'
}
}
},
'logdog-butler': {
'swarming': {
'cipd_packages': [
{
"cipd_package": 'infra/tools/luci/logdog/butler/${platform}',
'location': 'bin',
'revision': 'git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c',
},
],
},
},
'mac': {
'swarming': {
'dimensions': {
'os': 'Mac',
}
}
},
'mac-m1-cpu': {
'swarming': {
'dimensions': {
'cpu': 'arm64-64-Apple_M1',
}
}
},
'mac11': {
'swarming': {
'dimensions': {
'os': 'Mac-11'
}
}
},
'mac11_or_mac12': {
'swarming': {
'dimensions': {
'os': 'Mac-11|Mac-12'
}
}
},
'perf-low-bandwidth-audio-perf-test': {
'merge': {
'script': '//tools_webrtc/perf/process_perf_results_py2.py',
'args': ['--test-suite', 'low_bandwidth_audio_perf_test'],
},
},
'perf-output': {
'$mixin_append': {
'args': [
'--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb',
],
},
},
'perf-pool': {
'swarming': {
# Perf tests are marked as not idempotent, which means they're re-run even
# if they did not change this build. This will give the dashboard some
# more variance data to work with.
'idempotent': False,
'dimensions': {
'pool': 'WebRTC-perf',
},
},
},
'perf-webrtc-perf-tests': {
'merge': {
'script': '//tools_webrtc/perf/process_perf_results_py2.py',
'args': ['--test-suite', 'webrtc_perf_tests'],
},
'$mixin_append': {
'args': ['--nologs']
}
},
'resultdb-gtest-json-format': {
'$mixin_append': {
'args': [
'--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json',
],
},
'resultdb': {
'result_format': 'gtest_json',
'result_file': '${ISOLATED_OUTDIR}/gtest_output.json',
},
},
'resultdb-json-format': {
'resultdb': {
'result_format': 'json'
}
},
'shards-2': {
'swarming': {
'shards': 2,
},
},
'shards-4': {
'swarming': {
'shards': 4,
},
},
'shards-6': {
'swarming': {
'shards': 6,
},
},
'shamu': {
'swarming': {
'dimensions': {
'device_type': 'shamu',
'os': 'Android',
},
},
},
'timeout-2h': {
'swarming': {
'hard_timeout': 7200,
'io_timeout': 7200,
},
},
'timeout-3h': {
'swarming': {
'hard_timeout': 10800,
'io_timeout': 10800,
},
},
'webrtc-xctest': {
'$mixin_append': {
'args': [
'--xctest',
'--undefok=enable-run-ios-unittests-with-xctest',
],
},
},
'win': {
'swarming': {
'dimensions': {
'os': 'Windows'
}
}
}
}