Upstream commit: https://webrtc.googlesource.com/src/+/ee527ba4c9e45d5c9d9beb8d08fba1b491022b9c video: add EncoderInfo CPU overuse flag and aggregate in simulcast enable_cpu_overuse_detection=true by default, even when all sub-encoders disabled it. sub-encoder's value, so CPU overuse detection only runs when at least one encoder opts in. Before: In multi-encoder simulcast, SimulcastEncoderAdapter returned After: The adapter initializes the flag to false and ORs each Bug: webrtc:42225459 Change-Id: Ib5ae02408854507364bb2c5041e3aea61c3b0ad8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/443381 Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46933}
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
From: Michael Froman <mjfroman@mac.com>
|
|
Date: Fri, 8 Apr 2022 11:36:36 -0500
|
|
Subject: Bug 1766646 - (fix-b556b08668) avoid InlinedVector method that can
|
|
throw exception
|
|
|
|
---
|
|
api/video_codecs/video_encoder.cc | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc
|
|
index e4a2177079..5f2ea2484a 100644
|
|
--- a/api/video_codecs/video_encoder.cc
|
|
+++ b/api/video_codecs/video_encoder.cc
|
|
@@ -185,7 +185,15 @@ std::string VideoEncoder::EncoderInfo::ToString() const {
|
|
for (size_t i = 0; i < preferred_pixel_formats.size(); ++i) {
|
|
if (i > 0)
|
|
oss << ", ";
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
+ // This could assert, as opposed to throw using the form in the
|
|
+ // else, but since we're in a for loop that uses .size() we can
|
|
+ // be fairly sure that this is safe without doing a further
|
|
+ // check to make sure 'i' is in-range.
|
|
+ oss << VideoFrameBufferTypeToString(preferred_pixel_formats[i]);
|
|
+#else
|
|
oss << VideoFrameBufferTypeToString(preferred_pixel_formats.at(i));
|
|
+#endif
|
|
}
|
|
oss << "]";
|
|
if (is_qp_trusted.has_value()) {
|