1 # HG changeset patch |
1 # HG changeset patch |
2 # Parent 5df550d4b5fc674268055e504f60392389eb9ea7 |
2 # Parent 505c5ac5cad0268fe81c67d39f70cbab3bff616a |
3 |
3 |
4 Index: firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
4 diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
5 =================================================================== |
5 --- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
6 --- firefox-115.0.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
6 +++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
7 +++ firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h |
7 @@ -36,16 +36,17 @@ static inline SkMatrix SkEncodedOriginTo |
8 @@ -41,6 +41,7 @@ static inline SkMatrix SkEncodedOriginTo |
8 case kBottomRight_SkEncodedOrigin: return SkMatrix::MakeAll(-1, 0, w, 0, -1, h, 0, 0, 1); |
|
9 case kBottomLeft_SkEncodedOrigin: return SkMatrix::MakeAll( 1, 0, 0, 0, -1, h, 0, 0, 1); |
|
10 case kLeftTop_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, 1, 0, 0, 0, 0, 1); |
|
11 case kRightTop_SkEncodedOrigin: return SkMatrix::MakeAll( 0, -1, w, 1, 0, 0, 0, 0, 1); |
|
12 case kRightBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, -1, w, -1, 0, h, 0, 0, 1); |
9 case kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, -1, 0, h, 0, 0, 1); |
13 case kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, -1, 0, h, 0, 0, 1); |
10 } |
14 } |
11 SK_ABORT("Unexpected origin"); |
15 SK_ABORT("Unexpected origin"); |
12 + SkUNREACHABLE; |
16 + SkUNREACHABLE; |
13 } |
17 } |
14 |
18 |
15 /** |
19 /** |
16 Index: firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
20 * Return true if the encoded origin includes a 90 degree rotation, in which case the width |
17 =================================================================== |
21 * and height of the source data are swapped relative to a correctly oriented destination. |
18 --- firefox-115.0.orig/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
22 */ |
19 +++ firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
23 static inline bool SkEncodedOriginSwapsWidthHeight(SkEncodedOrigin origin) { |
20 @@ -325,6 +325,7 @@ static inline bool GrTextureTypeHasRestr |
24 return origin >= kLeftTop_SkEncodedOrigin; |
|
25 diff --git a/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h b/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
|
26 --- a/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
|
27 +++ b/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h |
|
28 @@ -320,16 +320,17 @@ static inline bool GrTextureTypeHasRestr |
|
29 return false; |
|
30 case GrTextureType::kRectangle: |
|
31 return true; |
|
32 case GrTextureType::kExternal: |
|
33 return true; |
21 default: |
34 default: |
22 SK_ABORT("Unexpected texture type"); |
35 SK_ABORT("Unexpected texture type"); |
23 } |
36 } |
24 + SkUNREACHABLE; |
37 + SkUNREACHABLE; |
25 } |
38 } |
26 |
39 |
27 ////////////////////////////////////////////////////////////////////////////// |
40 ////////////////////////////////////////////////////////////////////////////// |
28 Index: firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp |
41 |
29 =================================================================== |
42 /** |
30 --- firefox-115.0.orig/gfx/skia/skia/src/core/SkDescriptor.cpp |
43 * Types used to describe format of vertices in arrays. |
31 +++ firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp |
44 */ |
32 @@ -26,6 +26,7 @@ std::unique_ptr<SkDescriptor> SkDescript |
45 enum GrVertexAttribType { |
|
46 diff --git a/gfx/skia/skia/src/core/SkDescriptor.cpp b/gfx/skia/skia/src/core/SkDescriptor.cpp |
|
47 --- a/gfx/skia/skia/src/core/SkDescriptor.cpp |
|
48 +++ b/gfx/skia/skia/src/core/SkDescriptor.cpp |
|
49 @@ -21,16 +21,17 @@ std::unique_ptr<SkDescriptor> SkDescript |
|
50 SkASSERT(length >= sizeof(SkDescriptor) && SkAlign4(length) == length); |
|
51 void* allocation = ::operator new(length); |
|
52 return std::unique_ptr<SkDescriptor>(new (allocation) SkDescriptor{}); |
|
53 } |
|
54 |
33 void SkDescriptor::operator delete(void* p) { ::operator delete(p); } |
55 void SkDescriptor::operator delete(void* p) { ::operator delete(p); } |
34 void* SkDescriptor::operator new(size_t) { |
56 void* SkDescriptor::operator new(size_t) { |
35 SK_ABORT("Descriptors are created with placement new."); |
57 SK_ABORT("Descriptors are created with placement new."); |
36 + SkUNREACHABLE; |
58 + SkUNREACHABLE; |
37 } |
59 } |
38 |
60 |
39 void SkDescriptor::flatten(SkWriteBuffer& buffer) const { |
61 void SkDescriptor::flatten(SkWriteBuffer& buffer) const { |
40 Index: firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h |
62 buffer.writePad32(static_cast<const void*>(this), this->fLength); |
41 =================================================================== |
63 } |
42 --- firefox-115.0.orig/gfx/skia/skia/src/core/SkGeometry.h |
64 |
43 +++ firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h |
65 void* SkDescriptor::addEntry(uint32_t tag, size_t length, const void* data) { |
44 @@ -281,6 +281,7 @@ static inline bool SkCubicIsDegenerate(S |
66 SkASSERT(tag); |
|
67 diff --git a/gfx/skia/skia/src/core/SkGeometry.h b/gfx/skia/skia/src/core/SkGeometry.h |
|
68 --- a/gfx/skia/skia/src/core/SkGeometry.h |
|
69 +++ b/gfx/skia/skia/src/core/SkGeometry.h |
|
70 @@ -276,28 +276,30 @@ static inline bool SkCubicIsDegenerate(S |
|
71 case SkCubicType::kLocalCusp: |
|
72 case SkCubicType::kCuspAtInfinity: |
|
73 return false; |
|
74 case SkCubicType::kQuadratic: |
|
75 case SkCubicType::kLineOrPoint: |
45 return true; |
76 return true; |
46 } |
77 } |
47 SK_ABORT("Invalid SkCubicType"); |
78 SK_ABORT("Invalid SkCubicType"); |
48 + SkUNREACHABLE; |
79 + SkUNREACHABLE; |
49 } |
80 } |
50 |
81 |
51 static inline const char* SkCubicTypeName(SkCubicType type) { |
82 static inline const char* SkCubicTypeName(SkCubicType type) { |
52 @@ -293,6 +294,7 @@ static inline const char* SkCubicTypeNam |
83 switch (type) { |
|
84 case SkCubicType::kSerpentine: return "kSerpentine"; |
|
85 case SkCubicType::kLoop: return "kLoop"; |
|
86 case SkCubicType::kLocalCusp: return "kLocalCusp"; |
|
87 case SkCubicType::kCuspAtInfinity: return "kCuspAtInfinity"; |
|
88 case SkCubicType::kQuadratic: return "kQuadratic"; |
53 case SkCubicType::kLineOrPoint: return "kLineOrPoint"; |
89 case SkCubicType::kLineOrPoint: return "kLineOrPoint"; |
54 } |
90 } |
55 SK_ABORT("Invalid SkCubicType"); |
91 SK_ABORT("Invalid SkCubicType"); |
56 + SkUNREACHABLE; |
92 + SkUNREACHABLE; |
57 } |
93 } |
58 |
94 |
59 /** Returns the cubic classification. |
95 /** Returns the cubic classification. |
60 Index: firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp |
96 |
61 =================================================================== |
97 t[],s[] are set to the two homogeneous parameter values at which points the lines L & M |
62 --- firefox-115.0.orig/gfx/skia/skia/src/core/SkTextBlob.cpp |
98 intersect with K, sorted from smallest to largest and oriented so positive values of the |
63 +++ firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp |
99 implicit are on the "left" side. For a serpentine curve they are the inflection points. For a |
64 @@ -204,6 +204,7 @@ void SkTextBlob::operator delete(void* p |
100 loop they are the double point. For a local cusp, they are both equal and denote the cusp point. |
|
101 diff --git a/gfx/skia/skia/src/core/SkTextBlob.cpp b/gfx/skia/skia/src/core/SkTextBlob.cpp |
|
102 --- a/gfx/skia/skia/src/core/SkTextBlob.cpp |
|
103 +++ b/gfx/skia/skia/src/core/SkTextBlob.cpp |
|
104 @@ -199,16 +199,17 @@ unsigned SkTextBlob::ScalarsPerGlyph(Gly |
|
105 } |
|
106 |
|
107 void SkTextBlob::operator delete(void* p) { |
|
108 sk_free(p); |
|
109 } |
65 |
110 |
66 void* SkTextBlob::operator new(size_t) { |
111 void* SkTextBlob::operator new(size_t) { |
67 SK_ABORT("All blobs are created by placement new."); |
112 SK_ABORT("All blobs are created by placement new."); |
68 + SkUNREACHABLE; |
113 + SkUNREACHABLE; |
69 } |
114 } |
70 |
115 |
71 void* SkTextBlob::operator new(size_t, void* p) { |
116 void* SkTextBlob::operator new(size_t, void* p) { |
72 Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h |
117 return p; |
73 =================================================================== |
118 } |
74 --- firefox-115.0.orig/gfx/skia/skia/src/core/SkTypeface_remote.h |
119 |
75 +++ firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h |
120 SkTextBlobRunIterator::SkTextBlobRunIterator(const SkTextBlob* blob) |
76 @@ -95,12 +95,14 @@ public: |
121 : fCurrentRun(SkTextBlob::RunRecord::First(blob)) { |
|
122 diff --git a/gfx/skia/skia/src/core/SkTypeface_remote.h b/gfx/skia/skia/src/core/SkTypeface_remote.h |
|
123 --- a/gfx/skia/skia/src/core/SkTypeface_remote.h |
|
124 +++ b/gfx/skia/skia/src/core/SkTypeface_remote.h |
|
125 @@ -90,83 +90,97 @@ public: |
|
126 |
|
127 SkTypefaceID remoteTypefaceID() const {return fTypefaceID;} |
|
128 |
|
129 int glyphCount() const {return fGlyphCount;} |
|
130 |
77 bool isLogging() const {return fIsLogging;} |
131 bool isLogging() const {return fIsLogging;} |
78 |
132 |
79 protected: |
133 protected: |
80 - int onGetUPEM() const override { SK_ABORT("Should never be called."); } |
134 - int onGetUPEM() const override { SK_ABORT("Should never be called."); } |
81 + int onGetUPEM() const override { SK_ABORT("Should never be called."); SkUNREACHABLE; } |
135 + int onGetUPEM() const override { SK_ABORT("Should never be called."); SkUNREACHABLE; } |
205 SK_ABORT("Not implemented."); |
292 SK_ABORT("Not implemented."); |
206 + SkUNREACHABLE; |
293 + SkUNREACHABLE; |
207 } |
294 } |
208 |
295 |
209 SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[], |
296 SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[], |
210 Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
297 const SkFontStyle& requestedStyle) const override |
211 =================================================================== |
298 { |
212 --- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
299 SkAutoMutexExclusive ama(fMutex); |
213 +++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
300 |
214 @@ -277,6 +277,7 @@ std::unique_ptr<Expression> Compiler::co |
301 SkFontConfigInterface::FontIdentity identity; |
|
302 diff --git a/gfx/skia/skia/src/sksl/SkSLCompiler.cpp b/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
|
303 --- a/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
|
304 +++ b/gfx/skia/skia/src/sksl/SkSLCompiler.cpp |
|
305 @@ -272,16 +272,17 @@ std::unique_ptr<Expression> Compiler::co |
|
306 case Symbol::Kind::kType: { |
|
307 // go through DSLType so we report errors on private types |
|
308 dsl::DSLModifiers modifiers; |
|
309 dsl::DSLType dslType(result->name(), &modifiers, pos); |
|
310 return TypeReference::Convert(*fContext, pos, &dslType.skslType()); |
215 } |
311 } |
216 default: |
312 default: |
217 SK_ABORT("unsupported symbol type %d\n", (int) result->kind()); |
313 SK_ABORT("unsupported symbol type %d\n", (int) result->kind()); |
218 + SkUNREACHABLE; |
314 + SkUNREACHABLE; |
219 } |
315 } |
220 } |
316 } |
221 |
317 |
222 Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
318 bool Compiler::optimizeModuleBeforeMinifying(ProgramKind kind, Module& module) { |
223 =================================================================== |
319 SkASSERT(this->errorCount() == 0); |
224 --- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
320 |
225 +++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
321 auto m = SkSL::ModuleLoader::Get(); |
226 @@ -51,7 +51,7 @@ OperatorPrecedence Operator::getBinaryPr |
322 |
|
323 diff --git a/gfx/skia/skia/src/sksl/SkSLOperator.cpp b/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
|
324 --- a/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
|
325 +++ b/gfx/skia/skia/src/sksl/SkSLOperator.cpp |
|
326 @@ -46,17 +46,17 @@ OperatorPrecedence Operator::getBinaryPr |
|
327 case Kind::SLASHEQ: // fall through |
|
328 case Kind::PERCENTEQ: // fall through |
|
329 case Kind::SHLEQ: // fall through |
|
330 case Kind::SHREQ: // fall through |
|
331 case Kind::BITWISEANDEQ: // fall through |
227 case Kind::BITWISEXOREQ: // fall through |
332 case Kind::BITWISEXOREQ: // fall through |
228 case Kind::BITWISEOREQ: return OperatorPrecedence::kAssignment; |
333 case Kind::BITWISEOREQ: return OperatorPrecedence::kAssignment; |
229 case Kind::COMMA: return OperatorPrecedence::kSequence; |
334 case Kind::COMMA: return OperatorPrecedence::kSequence; |
230 - default: SK_ABORT("unsupported binary operator"); |
335 - default: SK_ABORT("unsupported binary operator"); |
231 + default: SkUNREACHABLE; |
336 + default: SkUNREACHABLE; |
232 } |
337 } |
233 } |
338 } |
234 |
339 |
235 Index: firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h |
340 const char* Operator::operatorName() const { |
236 =================================================================== |
341 switch (this->kind()) { |
237 --- firefox-115.0.orig/gfx/skia/skia/src/sksl/ir/SkSLType.h |
342 case Kind::PLUS: return " + "; |
238 +++ firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h |
343 case Kind::MINUS: return " - "; |
239 @@ -422,6 +422,7 @@ public: |
344 case Kind::STAR: return " * "; |
|
345 diff --git a/gfx/skia/skia/src/sksl/ir/SkSLType.h b/gfx/skia/skia/src/sksl/ir/SkSLType.h |
|
346 --- a/gfx/skia/skia/src/sksl/ir/SkSLType.h |
|
347 +++ b/gfx/skia/skia/src/sksl/ir/SkSLType.h |
|
348 @@ -417,16 +417,17 @@ public: |
|
349 * Returns the number of scalars needed to hold this type. |
|
350 */ |
|
351 virtual size_t slotCount() const { |
|
352 return 0; |
|
353 } |
240 |
354 |
241 virtual const std::vector<Field>& fields() const { |
355 virtual const std::vector<Field>& fields() const { |
242 SK_ABORT("Internal error: not a struct"); |
356 SK_ABORT("Internal error: not a struct"); |
243 + SkUNREACHABLE; |
357 + SkUNREACHABLE; |
244 } |
358 } |
245 |
359 |
246 /** |
360 /** |
247 Index: firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
361 * For generic types, returns the types that this generic type can substitute for. |
248 =================================================================== |
362 */ |
249 --- firefox-115.0.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
363 virtual SkSpan<const Type* const> coercibleTypes() const { |
250 +++ firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
364 SkDEBUGFAIL("Internal error: not a generic type"); |
251 @@ -140,6 +140,7 @@ struct SpotVerticesFactory { |
365 return {}; |
|
366 diff --git a/gfx/skia/skia/src/utils/SkShadowUtils.cpp b/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
|
367 --- a/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
|
368 +++ b/gfx/skia/skia/src/utils/SkShadowUtils.cpp |
|
369 @@ -135,16 +135,17 @@ struct SpotVerticesFactory { |
|
370 } |
|
371 return false; |
|
372 case OccluderType::kDirectional: |
|
373 case OccluderType::kDirectionalTransparent: |
|
374 *translate = that.fOffset - fOffset; |
252 return true; |
375 return true; |
253 } |
376 } |
254 SK_ABORT("Uninitialized occluder type?"); |
377 SK_ABORT("Uninitialized occluder type?"); |
255 + SkUNREACHABLE; |
378 + SkUNREACHABLE; |
256 } |
379 } |
257 |
380 |
258 sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm, |
381 sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm, |
259 Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp |
382 SkVector* translate) const { |
260 =================================================================== |
383 bool transparent = fOccluderType == OccluderType::kPointTransparent || |
261 --- firefox-115.0.orig/intl/icu/source/i18n/number_rounding.cpp |
384 fOccluderType == OccluderType::kDirectionalTransparent; |
262 +++ firefox-115.0/intl/icu/source/i18n/number_rounding.cpp |
385 bool directional = fOccluderType == OccluderType::kDirectional || |
263 @@ -283,6 +283,7 @@ FractionPrecision Precision::constructFr |
386 fOccluderType == OccluderType::kDirectionalTransparent; |
|
387 diff --git a/intl/icu/source/i18n/number_rounding.cpp b/intl/icu/source/i18n/number_rounding.cpp |
|
388 --- a/intl/icu/source/i18n/number_rounding.cpp |
|
389 +++ b/intl/icu/source/i18n/number_rounding.cpp |
|
390 @@ -278,27 +278,29 @@ Precision IncrementPrecision::withMinFra |
|
391 } |
|
392 |
|
393 FractionPrecision Precision::constructFraction(int32_t minFrac, int32_t maxFrac) { |
|
394 FractionSignificantSettings settings; |
|
395 settings.fMinFrac = static_cast<digits_t>(minFrac); |
264 settings.fMaxFrac = static_cast<digits_t>(maxFrac); |
396 settings.fMaxFrac = static_cast<digits_t>(maxFrac); |
265 settings.fMinSig = -1; |
397 settings.fMinSig = -1; |
266 settings.fMaxSig = -1; |
398 settings.fMaxSig = -1; |
267 + settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED; |
399 + settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED; |
268 PrecisionUnion union_; |
400 PrecisionUnion union_; |
269 union_.fracSig = settings; |
401 union_.fracSig = settings; |
270 return {RND_FRACTION, union_}; |
402 return {RND_FRACTION, union_}; |
271 @@ -294,6 +295,7 @@ Precision Precision::constructSignifican |
403 } |
|
404 |
|
405 Precision Precision::constructSignificant(int32_t minSig, int32_t maxSig) { |
|
406 FractionSignificantSettings settings; |
|
407 settings.fMinFrac = -1; |
272 settings.fMaxFrac = -1; |
408 settings.fMaxFrac = -1; |
273 settings.fMinSig = static_cast<digits_t>(minSig); |
409 settings.fMinSig = static_cast<digits_t>(minSig); |
274 settings.fMaxSig = static_cast<digits_t>(maxSig); |
410 settings.fMaxSig = static_cast<digits_t>(maxSig); |
275 + settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED; |
411 + settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED; |
276 PrecisionUnion union_; |
412 PrecisionUnion union_; |
277 union_.fracSig = settings; |
413 union_.fracSig = settings; |
278 return {RND_SIGNIFICANT, union_}; |
414 return {RND_SIGNIFICANT, union_}; |
279 Index: firefox-115.0/js/src/irregexp/imported/regexp-parser.cc |
415 } |
280 =================================================================== |
416 |
281 --- firefox-115.0.orig/js/src/irregexp/imported/regexp-parser.cc |
417 Precision |
282 +++ firefox-115.0/js/src/irregexp/imported/regexp-parser.cc |
418 Precision::constructFractionSignificant( |
283 @@ -2656,6 +2656,7 @@ bool MayContainStrings(ClassSetOperandTy |
419 const FractionPrecision &base, |
|
420 diff --git a/js/src/irregexp/imported/regexp-parser.cc b/js/src/irregexp/imported/regexp-parser.cc |
|
421 --- a/js/src/irregexp/imported/regexp-parser.cc |
|
422 +++ b/js/src/irregexp/imported/regexp-parser.cc |
|
423 @@ -2644,16 +2644,17 @@ bool MayContainStrings(ClassSetOperandTy |
|
424 return false; |
|
425 case ClassSetOperandType::kCharacterClassEscape: |
|
426 case ClassSetOperandType::kClassStringDisjunction: |
|
427 return operand->AsClassSetOperand()->has_strings(); |
|
428 case ClassSetOperandType::kNestedClass: |
284 if (operand->IsClassRanges()) return false; |
429 if (operand->IsClassRanges()) return false; |
285 return operand->AsClassSetExpression()->may_contain_strings(); |
430 return operand->AsClassSetExpression()->may_contain_strings(); |
286 } |
431 } |
287 + UNREACHABLE(); |
432 + UNREACHABLE(); |
288 } |
433 } |
289 |
434 |
290 } // namespace |
435 } // namespace |
291 Index: firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc |
436 |
292 =================================================================== |
437 // TODO(v8:11935): Change permalink once proposal is in stage 4. |
293 --- firefox-115.0.orig/third_party/libwebrtc/api/adaptation/resource.cc |
438 // https://arai-a.github.io/ecma262-compare/snapshot.html?pr=2418#prod-ClassUnion |
294 +++ firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc |
439 template <class CharT> |
295 @@ -22,6 +22,7 @@ const char* ResourceUsageStateToString(R |
440 RegExpTree* RegExpParserImpl<CharT>::ParseClassUnion( |
|
441 diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libwebrtc/api/adaptation/resource.cc |
|
442 --- a/third_party/libwebrtc/api/adaptation/resource.cc |
|
443 +++ b/third_party/libwebrtc/api/adaptation/resource.cc |
|
444 @@ -17,16 +17,17 @@ namespace webrtc { |
|
445 const char* ResourceUsageStateToString(ResourceUsageState usage_state) { |
|
446 switch (usage_state) { |
|
447 case ResourceUsageState::kOveruse: |
|
448 return "kOveruse"; |
|
449 case ResourceUsageState::kUnderuse: |
296 return "kUnderuse"; |
450 return "kUnderuse"; |
297 } |
451 } |
298 RTC_CHECK_NOTREACHED(); |
452 RTC_CHECK_NOTREACHED(); |
299 + return nullptr; |
453 + return nullptr; |
300 } |
454 } |
301 |
455 |
302 ResourceListener::~ResourceListener() {} |
456 ResourceListener::~ResourceListener() {} |
303 Index: firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc |
457 |
304 =================================================================== |
458 Resource::Resource() {} |
305 --- firefox-115.0.orig/third_party/libwebrtc/api/rtp_parameters.cc |
459 |
306 +++ firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc |
460 Resource::~Resource() {} |
307 @@ -32,6 +32,7 @@ const char* DegradationPreferenceToStrin |
461 |
|
462 diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc/api/rtp_parameters.cc |
|
463 --- a/third_party/libwebrtc/api/rtp_parameters.cc |
|
464 +++ b/third_party/libwebrtc/api/rtp_parameters.cc |
|
465 @@ -27,16 +27,17 @@ const char* DegradationPreferenceToStrin |
|
466 case DegradationPreference::MAINTAIN_FRAMERATE: |
|
467 return "maintain-framerate"; |
|
468 case DegradationPreference::MAINTAIN_RESOLUTION: |
|
469 return "maintain-resolution"; |
|
470 case DegradationPreference::BALANCED: |
308 return "balanced"; |
471 return "balanced"; |
309 } |
472 } |
310 RTC_CHECK_NOTREACHED(); |
473 RTC_CHECK_NOTREACHED(); |
311 + return ""; |
474 + return ""; |
312 } |
475 } |
313 |
476 |
314 const double kDefaultBitratePriority = 1.0; |
477 const double kDefaultBitratePriority = 1.0; |
315 Index: firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc |
478 |
316 =================================================================== |
479 RtcpFeedback::RtcpFeedback() = default; |
317 --- firefox-115.0.orig/third_party/libwebrtc/api/video/video_frame_buffer.cc |
480 RtcpFeedback::RtcpFeedback(RtcpFeedbackType type) : type(type) {} |
318 +++ firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc |
481 RtcpFeedback::RtcpFeedback(RtcpFeedbackType type, |
319 @@ -106,6 +106,8 @@ const char* VideoFrameBufferTypeToString |
482 RtcpFeedbackMessageType message_type) |
|
483 diff --git a/third_party/libwebrtc/api/video/video_frame_buffer.cc b/third_party/libwebrtc/api/video/video_frame_buffer.cc |
|
484 --- a/third_party/libwebrtc/api/video/video_frame_buffer.cc |
|
485 +++ b/third_party/libwebrtc/api/video/video_frame_buffer.cc |
|
486 @@ -101,16 +101,18 @@ const char* VideoFrameBufferTypeToString |
|
487 return "kI210"; |
|
488 case VideoFrameBuffer::Type::kI410: |
|
489 return "kI410"; |
|
490 case VideoFrameBuffer::Type::kNV12: |
|
491 return "kNV12"; |
320 default: |
492 default: |
321 RTC_DCHECK_NOTREACHED(); |
493 RTC_DCHECK_NOTREACHED(); |
322 } |
494 } |
323 + RTC_DCHECK_NOTREACHED(); |
495 + RTC_DCHECK_NOTREACHED(); |
324 + return nullptr; |
496 + return nullptr; |
325 } |
497 } |
326 |
498 |
327 int I420BufferInterface::ChromaWidth() const { |
499 int I420BufferInterface::ChromaWidth() const { |
328 Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc |
500 return (width() + 1) / 2; |
329 =================================================================== |
501 } |
330 --- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_codec.cc |
502 |
331 +++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc |
503 int I420BufferInterface::ChromaHeight() const { |
332 @@ -118,6 +118,7 @@ const char* CodecTypeToPayloadString(Vid |
504 return (height() + 1) / 2; |
|
505 diff --git a/third_party/libwebrtc/api/video_codecs/video_codec.cc b/third_party/libwebrtc/api/video_codecs/video_codec.cc |
|
506 --- a/third_party/libwebrtc/api/video_codecs/video_codec.cc |
|
507 +++ b/third_party/libwebrtc/api/video_codecs/video_codec.cc |
|
508 @@ -113,16 +113,17 @@ const char* CodecTypeToPayloadString(Vid |
|
509 case kVideoCodecH264: |
|
510 return kPayloadNameH264; |
|
511 case kVideoCodecMultiplex: |
|
512 return kPayloadNameMultiplex; |
|
513 case kVideoCodecGeneric: |
333 return kPayloadNameGeneric; |
514 return kPayloadNameGeneric; |
334 } |
515 } |
335 RTC_CHECK_NOTREACHED(); |
516 RTC_CHECK_NOTREACHED(); |
336 + return ""; |
517 + return ""; |
337 } |
518 } |
338 |
519 |
339 VideoCodecType PayloadStringToCodecType(const std::string& name) { |
520 VideoCodecType PayloadStringToCodecType(const std::string& name) { |
340 Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
521 if (absl::EqualsIgnoreCase(name, kPayloadNameVp8)) |
341 =================================================================== |
522 return kVideoCodecVP8; |
342 --- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
523 if (absl::EqualsIgnoreCase(name, kPayloadNameVp9)) |
343 +++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
524 return kVideoCodecVP9; |
344 @@ -163,6 +163,7 @@ class VideoEncoderSoftwareFallbackWrappe |
525 if (absl::EqualsIgnoreCase(name, kPayloadNameAv1) || |
|
526 diff --git a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
|
527 --- a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
|
528 +++ b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc |
|
529 @@ -158,16 +158,17 @@ class VideoEncoderSoftwareFallbackWrappe |
|
530 [[fallthrough]]; |
|
531 case EncoderState::kMainEncoderUsed: |
|
532 return encoder_.get(); |
|
533 case EncoderState::kFallbackDueToFailure: |
|
534 case EncoderState::kForcedFallback: |
345 return fallback_encoder_.get(); |
535 return fallback_encoder_.get(); |
346 } |
536 } |
347 RTC_CHECK_NOTREACHED(); |
537 RTC_CHECK_NOTREACHED(); |
348 + return nullptr; |
538 + return nullptr; |
349 } |
539 } |
350 |
540 |
351 // Updates encoder with last observed parameters, such as callbacks, rates, |
541 // Updates encoder with last observed parameters, such as callbacks, rates, |
352 @@ -343,6 +344,7 @@ int32_t VideoEncoderSoftwareFallbackWrap |
542 // etc. |
|
543 void PrimeEncoder(VideoEncoder* encoder) const; |
|
544 |
|
545 // Settings used in the last InitEncode call and used if a dynamic fallback to |
|
546 // software is required. |
|
547 @@ -338,16 +339,17 @@ int32_t VideoEncoderSoftwareFallbackWrap |
|
548 case EncoderState::kMainEncoderUsed: { |
|
549 return EncodeWithMainEncoder(frame, frame_types); |
|
550 } |
|
551 case EncoderState::kFallbackDueToFailure: |
|
552 case EncoderState::kForcedFallback: |
353 return fallback_encoder_->Encode(frame, frame_types); |
553 return fallback_encoder_->Encode(frame, frame_types); |
354 } |
554 } |
355 RTC_CHECK_NOTREACHED(); |
555 RTC_CHECK_NOTREACHED(); |
356 + return WEBRTC_VIDEO_CODEC_ERROR; |
556 + return WEBRTC_VIDEO_CODEC_ERROR; |
357 } |
557 } |
358 |
558 |
359 int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder( |
559 int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder( |
360 Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
560 const VideoFrame& frame, |
361 =================================================================== |
561 const std::vector<VideoFrameType>* frame_types) { |
362 --- firefox-115.0.orig/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
562 int32_t ret = encoder_->Encode(frame, frame_types); |
363 +++ firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
563 // If requested, try a software fallback. |
364 @@ -168,6 +168,7 @@ const char* Adaptation::StatusToString(A |
564 bool fallback_requested = (ret == WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE); |
|
565 diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
|
566 --- a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
|
567 +++ b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc |
|
568 @@ -164,16 +164,17 @@ const char* Adaptation::StatusToString(A |
|
569 case Status::kInsufficientInput: |
|
570 return "kInsufficientInput"; |
|
571 case Status::kAdaptationDisabled: |
|
572 return "kAdaptationDisabled"; |
|
573 case Status::kRejectedByConstraint: |
365 return "kRejectedByConstraint"; |
574 return "kRejectedByConstraint"; |
366 } |
575 } |
367 RTC_CHECK_NOTREACHED(); |
576 RTC_CHECK_NOTREACHED(); |
368 + return ""; |
577 + return ""; |
369 } |
578 } |
370 |
579 |
371 Adaptation::Adaptation(int validation_id, |
580 Adaptation::Adaptation(int validation_id, |
372 @@ -390,6 +391,7 @@ VideoStreamAdapter::RestrictionsOrState |
581 VideoSourceRestrictions restrictions, |
|
582 VideoAdaptationCounters counters, |
|
583 VideoStreamInputState input_state) |
|
584 : validation_id_(validation_id), |
|
585 status_(Status::kValid), |
|
586 @@ -386,16 +387,17 @@ VideoStreamAdapter::RestrictionsOrState |
|
587 case DegradationPreference::MAINTAIN_RESOLUTION: { |
|
588 // Scale up framerate. |
|
589 return IncreaseFramerate(input_state, current_restrictions_); |
|
590 } |
|
591 case DegradationPreference::DISABLED: |
373 return Adaptation::Status::kAdaptationDisabled; |
592 return Adaptation::Status::kAdaptationDisabled; |
374 } |
593 } |
375 RTC_CHECK_NOTREACHED(); |
594 RTC_CHECK_NOTREACHED(); |
376 + return Adaptation::Status::kAdaptationDisabled; |
595 + return Adaptation::Status::kAdaptationDisabled; |
377 } |
596 } |
378 |
597 |
379 Adaptation VideoStreamAdapter::GetAdaptationDown() { |
598 Adaptation VideoStreamAdapter::GetAdaptationDown() { |
380 @@ -472,6 +474,7 @@ VideoStreamAdapter::GetAdaptationDownSte |
599 RTC_DCHECK_RUN_ON(&sequence_checker_); |
|
600 VideoStreamInputState input_state = input_state_provider_->InputState(); |
|
601 ++adaptation_validation_id_; |
|
602 RestrictionsOrState restrictions_or_state = |
|
603 GetAdaptationDownStep(input_state, current_restrictions_); |
|
604 @@ -468,16 +470,17 @@ VideoStreamAdapter::GetAdaptationDownSte |
|
605 } |
|
606 case DegradationPreference::MAINTAIN_RESOLUTION: { |
|
607 return DecreaseFramerate(input_state, current_restrictions); |
|
608 } |
|
609 case DegradationPreference::DISABLED: |
381 return Adaptation::Status::kAdaptationDisabled; |
610 return Adaptation::Status::kAdaptationDisabled; |
382 } |
611 } |
383 RTC_CHECK_NOTREACHED(); |
612 RTC_CHECK_NOTREACHED(); |
384 + return Adaptation::Status::kAdaptationDisabled; |
613 + return Adaptation::Status::kAdaptationDisabled; |
385 } |
614 } |
386 |
615 |
387 VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution( |
616 VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution( |
388 @@ -625,6 +628,8 @@ Adaptation VideoStreamAdapter::GetAdaptD |
617 const VideoStreamInputState& input_state, |
|
618 const RestrictionsWithCounters& current_restrictions) { |
|
619 int target_pixels = |
|
620 GetLowerResolutionThan(input_state.frame_size_pixels().value()); |
|
621 // Use single active stream if set, this stream could be lower than the input. |
|
622 @@ -621,16 +624,18 @@ Adaptation VideoStreamAdapter::GetAdaptD |
|
623 case DegradationPreference::MAINTAIN_FRAMERATE: |
|
624 return GetAdaptationDown(); |
|
625 case DegradationPreference::BALANCED: { |
|
626 return RestrictionsOrStateToAdaptation( |
|
627 GetAdaptDownResolutionStepForBalanced(input_state), input_state); |
389 } |
628 } |
390 } |
629 } |
391 RTC_CHECK_NOTREACHED(); |
630 RTC_CHECK_NOTREACHED(); |
392 + return RestrictionsOrStateToAdaptation( |
631 + return RestrictionsOrStateToAdaptation( |
393 + Adaptation::Status::kAdaptationDisabled, input_state); |
632 + Adaptation::Status::kAdaptationDisabled, input_state); |
394 } |
633 } |
395 |
634 |
396 VideoStreamAdapter::RestrictionsOrState |
635 VideoStreamAdapter::RestrictionsOrState |
397 Index: firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc |
636 VideoStreamAdapter::GetAdaptDownResolutionStepForBalanced( |
398 =================================================================== |
637 const VideoStreamInputState& input_state) const { |
399 --- firefox-115.0.orig/third_party/libwebrtc/call/rtp_payload_params.cc |
638 // Adapt twice if the first adaptation did not decrease resolution. |
400 +++ firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc |
639 auto first_step = GetAdaptationDownStep(input_state, current_restrictions_); |
401 @@ -407,7 +407,7 @@ absl::optional<FrameDependencyStructure> |
640 if (!absl::holds_alternative<RestrictionsWithCounters>(first_step)) { |
|
641 diff --git a/third_party/libwebrtc/call/rtp_payload_params.cc b/third_party/libwebrtc/call/rtp_payload_params.cc |
|
642 --- a/third_party/libwebrtc/call/rtp_payload_params.cc |
|
643 +++ b/third_party/libwebrtc/call/rtp_payload_params.cc |
|
644 @@ -400,17 +400,17 @@ absl::optional<FrameDependencyStructure> |
|
645 } |
|
646 return structure; |
|
647 } |
|
648 case VideoCodecType::kVideoCodecAV1: |
|
649 case VideoCodecType::kVideoCodecH264: |
402 case VideoCodecType::kVideoCodecMultiplex: |
650 case VideoCodecType::kVideoCodecMultiplex: |
403 return absl::nullopt; |
651 return absl::nullopt; |
404 } |
652 } |
405 - RTC_DCHECK_NOTREACHED() << "Unsupported codec."; |
653 - RTC_DCHECK_NOTREACHED() << "Unsupported codec."; |
406 + RTC_CHECK_NOTREACHED(); |
654 + RTC_CHECK_NOTREACHED(); |
407 } |
655 } |
408 |
656 |
409 void RtpPayloadParams::GenericToGeneric(int64_t shared_frame_id, |
657 void RtpPayloadParams::GenericToGeneric(int64_t shared_frame_id, |
410 Index: firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc |
658 bool is_keyframe, |
411 =================================================================== |
659 RTPVideoHeader* rtp_video_header) { |
412 --- firefox-115.0.orig/third_party/libwebrtc/call/video_send_stream.cc |
660 RTPVideoHeader::GenericDescriptorInfo& generic = |
413 +++ firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc |
661 rtp_video_header->generic.emplace(); |
414 @@ -30,6 +30,7 @@ const char* StreamTypeToString(VideoSend |
662 |
|
663 diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwebrtc/call/video_send_stream.cc |
|
664 --- a/third_party/libwebrtc/call/video_send_stream.cc |
|
665 +++ b/third_party/libwebrtc/call/video_send_stream.cc |
|
666 @@ -25,16 +25,17 @@ const char* StreamTypeToString(VideoSend |
|
667 case VideoSendStream::StreamStats::StreamType::kMedia: |
|
668 return "media"; |
|
669 case VideoSendStream::StreamStats::StreamType::kRtx: |
|
670 return "rtx"; |
|
671 case VideoSendStream::StreamStats::StreamType::kFlexfec: |
415 return "flexfec"; |
672 return "flexfec"; |
416 } |
673 } |
417 RTC_CHECK_NOTREACHED(); |
674 RTC_CHECK_NOTREACHED(); |
418 + return ""; |
675 + return ""; |
419 } |
676 } |
420 |
677 |
421 } // namespace |
678 } // namespace |
422 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
679 |
423 =================================================================== |
680 VideoSendStream::StreamStats::StreamStats() = default; |
424 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
681 VideoSendStream::StreamStats::~StreamStats() = default; |
425 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
682 |
426 @@ -378,7 +378,7 @@ std::unique_ptr<ClippingPredictor> Creat |
683 std::string VideoSendStream::StreamStats::ToString() const { |
|
684 diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
|
685 --- a/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
|
686 +++ b/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc |
|
687 @@ -373,12 +373,12 @@ std::unique_ptr<ClippingPredictor> Creat |
|
688 config.reference_window_delay, config.clipping_threshold, |
|
689 /*adaptive_step_estimation=*/true); |
|
690 case ClippingPredictorMode::kFixedStepClippingPeakPrediction: |
|
691 return std::make_unique<ClippingPeakPredictor>( |
|
692 num_channels, config.window_length, config.reference_window_length, |
427 config.reference_window_delay, config.clipping_threshold, |
693 config.reference_window_delay, config.clipping_threshold, |
428 /*adaptive_step_estimation=*/false); |
694 /*adaptive_step_estimation=*/false); |
429 } |
695 } |
430 - RTC_DCHECK_NOTREACHED(); |
696 - RTC_DCHECK_NOTREACHED(); |
431 + RTC_CHECK_NOTREACHED(); |
697 + RTC_CHECK_NOTREACHED(); |
432 } |
698 } |
433 |
699 |
434 } // namespace webrtc |
700 } // namespace webrtc |
435 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
701 diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc b/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
436 =================================================================== |
702 --- a/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
437 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
703 +++ b/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
438 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc |
704 @@ -43,16 +43,17 @@ int ComputeAverageUpdate(int sum_updates |
439 @@ -48,6 +48,7 @@ constexpr absl::string_view MetricNamePr |
705 constexpr absl::string_view MetricNamePrefix( |
|
706 InputVolumeType input_volume_type) { |
|
707 switch (input_volume_type) { |
|
708 case InputVolumeType::kApplied: |
|
709 return "WebRTC.Audio.Apm.AppliedInputVolume."; |
440 case InputVolumeType::kRecommended: |
710 case InputVolumeType::kRecommended: |
441 return "WebRTC.Audio.Apm.RecommendedInputVolume."; |
711 return "WebRTC.Audio.Apm.RecommendedInputVolume."; |
442 } |
712 } |
443 + RTC_CHECK_NOTREACHED(); |
713 + RTC_CHECK_NOTREACHED(); |
444 } |
714 } |
445 |
715 |
446 metrics::Histogram* CreateVolumeHistogram(InputVolumeType input_volume_type) { |
716 metrics::Histogram* CreateVolumeHistogram(InputVolumeType input_volume_type) { |
447 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
717 char buffer[64]; |
448 =================================================================== |
718 rtc::SimpleStringBuilder builder(buffer); |
449 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
719 builder << MetricNamePrefix(input_volume_type) << "OnChange"; |
450 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
720 return metrics::HistogramFactoryGetCountsLinear(/*name=*/builder.str(), |
451 @@ -59,6 +59,8 @@ rtc::FunctionView<float(float)> GetActiv |
721 /*min=*/1, |
|
722 diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
|
723 --- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
|
724 +++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc |
|
725 @@ -54,16 +54,18 @@ std::vector<float> PreprocessWeights(rtc |
|
726 rtc::FunctionView<float(float)> GetActivationFunction( |
|
727 ActivationFunction activation_function) { |
|
728 switch (activation_function) { |
|
729 case ActivationFunction::kTansigApproximated: |
|
730 return ::rnnoise::TansigApproximated; |
452 case ActivationFunction::kSigmoidApproximated: |
731 case ActivationFunction::kSigmoidApproximated: |
453 return ::rnnoise::SigmoidApproximated; |
732 return ::rnnoise::SigmoidApproximated; |
454 } |
733 } |
455 + // supposed to be never reached apparently therefore returning bogus |
734 + // supposed to be never reached apparently therefore returning bogus |
456 + return ::rnnoise::TansigApproximated; |
735 + return ::rnnoise::TansigApproximated; |
457 } |
736 } |
458 |
737 |
459 } // namespace |
738 } // namespace |
460 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
739 |
461 =================================================================== |
740 FullyConnectedLayer::FullyConnectedLayer( |
462 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
741 const int input_size, |
463 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
742 const int output_size, |
464 @@ -99,6 +99,7 @@ GainControl::Mode Agc1ConfigModeToInterf |
743 const rtc::ArrayView<const int8_t> bias, |
|
744 diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
|
745 --- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
|
746 +++ b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc |
|
747 @@ -94,16 +94,17 @@ GainControl::Mode Agc1ConfigModeToInterf |
|
748 case Agc1Config::kAdaptiveAnalog: |
|
749 return GainControl::kAdaptiveAnalog; |
|
750 case Agc1Config::kAdaptiveDigital: |
|
751 return GainControl::kAdaptiveDigital; |
|
752 case Agc1Config::kFixedDigital: |
465 return GainControl::kFixedDigital; |
753 return GainControl::kFixedDigital; |
466 } |
754 } |
467 RTC_CHECK_NOTREACHED(); |
755 RTC_CHECK_NOTREACHED(); |
468 + return GainControl::kAdaptiveAnalog; |
756 + return GainControl::kAdaptiveAnalog; |
469 } |
757 } |
470 |
758 |
471 bool MinimizeProcessingForUnusedOutput() { |
759 bool MinimizeProcessingForUnusedOutput() { |
472 @@ -166,7 +167,7 @@ int AudioFormatValidityToErrorCode(Audio |
760 return !field_trial::IsEnabled("WebRTC-MutedStateKillSwitch"); |
|
761 } |
|
762 |
|
763 // Maximum lengths that frame of samples being passed from the render side to |
|
764 // the capture side can have (does not apply to AEC3). |
|
765 @@ -161,17 +162,17 @@ int AudioFormatValidityToErrorCode(Audio |
|
766 case AudioFormatValidity::kValidAndSupported: |
|
767 return AudioProcessing::kNoError; |
|
768 case AudioFormatValidity::kValidButUnsupportedSampleRate: // fall-through |
|
769 case AudioFormatValidity::kInvalidSampleRate: |
|
770 return AudioProcessing::kBadSampleRateError; |
473 case AudioFormatValidity::kInvalidChannelCount: |
771 case AudioFormatValidity::kInvalidChannelCount: |
474 return AudioProcessing::kBadNumberChannelsError; |
772 return AudioProcessing::kBadNumberChannelsError; |
475 } |
773 } |
476 - RTC_DCHECK(false); |
774 - RTC_DCHECK(false); |
477 + RTC_CHECK_NOTREACHED(); |
775 + RTC_CHECK_NOTREACHED(); |
478 } |
776 } |
479 |
777 |
480 // Returns an AudioProcessing::Error together with the best possible option for |
778 // Returns an AudioProcessing::Error together with the best possible option for |
481 @@ -2421,6 +2422,7 @@ void AudioProcessingImpl::InitializeNois |
779 // output audio content. |
|
780 std::pair<int, FormatErrorOutputOption> ChooseErrorOutputOption( |
|
781 const StreamConfig& input_config, |
|
782 const StreamConfig& output_config) { |
|
783 AudioFormatValidity input_validity = ValidateAudioFormat(input_config); |
|
784 @@ -2416,16 +2417,17 @@ void AudioProcessingImpl::InitializeNois |
|
785 case NoiseSuppresionConfig::kModerate: |
|
786 return NsConfig::SuppressionLevel::k12dB; |
|
787 case NoiseSuppresionConfig::kHigh: |
|
788 return NsConfig::SuppressionLevel::k18dB; |
|
789 case NoiseSuppresionConfig::kVeryHigh: |
482 return NsConfig::SuppressionLevel::k21dB; |
790 return NsConfig::SuppressionLevel::k21dB; |
483 } |
791 } |
484 RTC_CHECK_NOTREACHED(); |
792 RTC_CHECK_NOTREACHED(); |
485 + return NsConfig::SuppressionLevel::k6dB; |
793 + return NsConfig::SuppressionLevel::k6dB; |
486 }; |
794 }; |
487 |
795 |
488 NsConfig cfg; |
796 NsConfig cfg; |
489 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
797 cfg.target_level = map_level(config_.noise_suppression.level); |
490 =================================================================== |
798 submodules_.noise_suppressor = std::make_unique<NoiseSuppressor>( |
491 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
799 cfg, proc_sample_rate_hz(), num_proc_channels()); |
492 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
800 } |
493 @@ -32,6 +32,7 @@ std::string NoiseSuppressionLevelToStrin |
801 } |
|
802 diff --git a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
|
803 --- a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
|
804 +++ b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc |
|
805 @@ -27,28 +27,30 @@ std::string NoiseSuppressionLevelToStrin |
|
806 case AudioProcessing::Config::NoiseSuppression::Level::kModerate: |
|
807 return "Moderate"; |
|
808 case AudioProcessing::Config::NoiseSuppression::Level::kHigh: |
|
809 return "High"; |
|
810 case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh: |
494 return "VeryHigh"; |
811 return "VeryHigh"; |
495 } |
812 } |
496 RTC_CHECK_NOTREACHED(); |
813 RTC_CHECK_NOTREACHED(); |
497 + return ""; |
814 + return ""; |
498 } |
815 } |
499 |
816 |
500 std::string GainController1ModeToString(const Agc1Config::Mode& mode) { |
817 std::string GainController1ModeToString(const Agc1Config::Mode& mode) { |
501 @@ -44,6 +45,7 @@ std::string GainController1ModeToString( |
818 switch (mode) { |
|
819 case Agc1Config::Mode::kAdaptiveAnalog: |
|
820 return "AdaptiveAnalog"; |
|
821 case Agc1Config::Mode::kAdaptiveDigital: |
|
822 return "AdaptiveDigital"; |
|
823 case Agc1Config::Mode::kFixedDigital: |
502 return "FixedDigital"; |
824 return "FixedDigital"; |
503 } |
825 } |
504 RTC_CHECK_NOTREACHED(); |
826 RTC_CHECK_NOTREACHED(); |
505 + return ""; |
827 + return ""; |
506 } |
828 } |
507 |
829 |
508 } // namespace |
830 } // namespace |
509 Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
831 |
510 =================================================================== |
832 constexpr int AudioProcessing::kNativeSampleRatesHz[]; |
511 --- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
833 |
512 +++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
834 void CustomProcessing::SetRuntimeSetting( |
513 @@ -53,6 +53,7 @@ std::string GetVadModeLabel(TransientSup |
835 AudioProcessing::RuntimeSetting setting) {} |
|
836 diff --git a/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc b/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
|
837 --- a/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
|
838 +++ b/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc |
|
839 @@ -48,16 +48,17 @@ std::string GetVadModeLabel(TransientSup |
|
840 switch (vad_mode) { |
|
841 case TransientSuppressor::VadMode::kDefault: |
|
842 return "default"; |
|
843 case TransientSuppressor::VadMode::kRnnVad: |
|
844 return "RNN VAD"; |
514 case TransientSuppressor::VadMode::kNoVad: |
845 case TransientSuppressor::VadMode::kNoVad: |
515 return "no VAD"; |
846 return "no VAD"; |
516 } |
847 } |
517 + RTC_CHECK_NOTREACHED(); |
848 + RTC_CHECK_NOTREACHED(); |
518 } |
849 } |
519 |
850 |
520 } // namespace |
851 } // namespace |
521 Index: firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
852 |
522 =================================================================== |
853 TransientSuppressorImpl::TransientSuppressorImpl(VadMode vad_mode, |
523 --- firefox-115.0.orig/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
854 int sample_rate_hz, |
524 +++ firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
855 int detector_rate_hz, |
525 @@ -44,6 +44,7 @@ ScreenCastPortal::CaptureSourceType Scre |
856 int num_channels) |
|
857 diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
|
858 --- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
|
859 +++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc |
|
860 @@ -39,16 +39,17 @@ ScreenCastPortal::CaptureSourceType Scre |
|
861 switch (type) { |
|
862 case CaptureType::kScreen: |
|
863 return ScreenCastPortal::CaptureSourceType::kScreen; |
|
864 case CaptureType::kWindow: |
|
865 return ScreenCastPortal::CaptureSourceType::kWindow; |
526 case CaptureType::kAnyScreenContent: |
866 case CaptureType::kAnyScreenContent: |
527 return ScreenCastPortal::CaptureSourceType::kAnyScreenContent; |
867 return ScreenCastPortal::CaptureSourceType::kAnyScreenContent; |
528 } |
868 } |
529 + RTC_CHECK_NOTREACHED(); |
869 + RTC_CHECK_NOTREACHED(); |
530 } |
870 } |
531 |
871 |
532 ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier) |
872 ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier) |
533 Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
873 : ScreenCastPortal(type, |
534 =================================================================== |
874 notifier, |
535 --- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
875 OnProxyRequested, |
536 +++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
876 OnSourcesRequestResponseSignal, |
537 @@ -38,6 +38,7 @@ std::unique_ptr<VideoRtpDepacketizer> Cr |
877 this) {} |
|
878 diff --git a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc |
|
879 --- a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc |
|
880 +++ b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc |
|
881 @@ -64,16 +64,17 @@ bool BitrateProber::ReadyToSetActiveStat |
|
882 return false; |
|
883 case ProbingState::kInactive: |
|
884 // If config_.min_packet_size > 0, a "large enough" packet must be sent |
|
885 // first, before a probe can be generated and sent. Otherwise, send the |
|
886 // probe asap. |
|
887 return packet_size >= |
|
888 std::min(RecommendedMinProbeSize(), config_.min_packet_size.Get()); |
|
889 } |
|
890 + RTC_CHECK_NOTREACHED(); |
|
891 } |
|
892 |
|
893 void BitrateProber::OnIncomingPacket(DataSize packet_size) { |
|
894 if (ReadyToSetActiveState(packet_size)) { |
|
895 next_probe_time_ = Timestamp::MinusInfinity(); |
|
896 probing_state_ = ProbingState::kActive; |
|
897 } |
|
898 } |
|
899 diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
|
900 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
|
901 +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc |
|
902 @@ -33,11 +33,12 @@ std::unique_ptr<VideoRtpDepacketizer> Cr |
|
903 return std::make_unique<VideoRtpDepacketizerVp9>(); |
|
904 case kVideoCodecAV1: |
|
905 return std::make_unique<VideoRtpDepacketizerAv1>(); |
|
906 case kVideoCodecGeneric: |
|
907 case kVideoCodecMultiplex: |
538 return std::make_unique<VideoRtpDepacketizerGeneric>(); |
908 return std::make_unique<VideoRtpDepacketizerGeneric>(); |
539 } |
909 } |
540 RTC_CHECK_NOTREACHED(); |
910 RTC_CHECK_NOTREACHED(); |
541 + return nullptr; |
911 + return nullptr; |
542 } |
912 } |
543 |
913 |
544 } // namespace webrtc |
914 } // namespace webrtc |
545 Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
915 diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
546 =================================================================== |
916 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
547 --- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
917 +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
548 +++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc |
918 @@ -135,16 +135,17 @@ bool IsNonVolatile(RTPExtensionType type |
549 @@ -142,6 +142,7 @@ bool IsNonVolatile(RTPExtensionType type |
919 #if defined(WEBRTC_MOZILLA_BUILD) |
|
920 case kRtpExtensionCsrcAudioLevel: |
|
921 // TODO: Mozilla implement for CsrcAudioLevel |
|
922 RTC_CHECK(false); |
|
923 return false; |
550 #endif |
924 #endif |
551 } |
925 } |
552 RTC_CHECK_NOTREACHED(); |
926 RTC_CHECK_NOTREACHED(); |
553 + return false; |
927 + return false; |
554 } |
928 } |
555 |
929 |
556 bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) { |
930 bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) { |
557 Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
931 return extensions_map.IsRegistered(kRtpExtensionTransportSequenceNumber) || |
558 =================================================================== |
932 extensions_map.IsRegistered(kRtpExtensionTransportSequenceNumber02) || |
559 --- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
933 extensions_map.IsRegistered(kRtpExtensionAbsoluteSendTime) || |
560 +++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
934 extensions_map.IsRegistered(kRtpExtensionTransmissionTimeOffset); |
561 @@ -45,6 +45,7 @@ namespace { |
935 } |
|
936 diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
|
937 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
|
938 +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
|
939 @@ -40,16 +40,17 @@ namespace { |
|
940 case AudioFrameType::kEmptyFrame: |
|
941 return "empty"; |
|
942 case AudioFrameType::kAudioFrameSpeech: |
|
943 return "audio_speech"; |
|
944 case AudioFrameType::kAudioFrameCN: |
562 return "audio_cn"; |
945 return "audio_cn"; |
563 } |
946 } |
564 RTC_CHECK_NOTREACHED(); |
947 RTC_CHECK_NOTREACHED(); |
565 + return ""; |
948 + return ""; |
566 } |
949 } |
567 |
950 |
568 constexpr char kIncludeCaptureClockOffset[] = |
951 constexpr char kIncludeCaptureClockOffset[] = |
569 Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
952 "WebRTC-IncludeCaptureClockOffset"; |
570 =================================================================== |
953 |
571 --- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
954 } // namespace |
572 +++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
955 |
573 @@ -110,6 +110,7 @@ size_t BufferToIndex(Vp8BufferReference |
956 RTPSenderAudio::RTPSenderAudio(Clock* clock, RTPSender* rtp_sender) |
|
957 diff --git a/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc b/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
|
958 --- a/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
|
959 +++ b/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc |
|
960 @@ -105,16 +105,17 @@ size_t BufferToIndex(Vp8BufferReference |
|
961 return 0; |
|
962 case Vp8FrameConfig::Vp8BufferReference::kGolden: |
|
963 return 1; |
|
964 case Vp8FrameConfig::Vp8BufferReference::kAltref: |
|
965 return 2; |
574 case Vp8FrameConfig::Vp8BufferReference::kNone: |
966 case Vp8FrameConfig::Vp8BufferReference::kNone: |
575 RTC_CHECK_NOTREACHED(); |
967 RTC_CHECK_NOTREACHED(); |
576 } |
968 } |
577 + RTC_CHECK_NOTREACHED(); |
969 + RTC_CHECK_NOTREACHED(); |
578 } |
970 } |
579 |
971 |
580 } // namespace |
972 } // namespace |
581 Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
973 |
582 =================================================================== |
974 constexpr size_t DefaultTemporalLayers::kNumReferenceBuffers; |
583 --- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
975 |
584 +++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
976 std::vector<DefaultTemporalLayers::DependencyInfo> |
585 @@ -30,6 +30,7 @@ TemporalLayersChecker::CreateTemporalLay |
977 DefaultTemporalLayers::GetDependencyInfo(size_t num_layers) { |
|
978 diff --git a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
|
979 --- a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
|
980 +++ b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc |
|
981 @@ -25,16 +25,17 @@ TemporalLayersChecker::CreateTemporalLay |
|
982 case Vp8TemporalLayersType::kFixedPattern: |
|
983 return std::make_unique<DefaultTemporalLayersChecker>( |
|
984 num_temporal_layers); |
|
985 case Vp8TemporalLayersType::kBitrateDynamic: |
|
986 // Conference mode temporal layering for screen content in base stream. |
586 return std::make_unique<TemporalLayersChecker>(num_temporal_layers); |
987 return std::make_unique<TemporalLayersChecker>(num_temporal_layers); |
587 } |
988 } |
588 RTC_CHECK_NOTREACHED(); |
989 RTC_CHECK_NOTREACHED(); |
589 + return nullptr; |
990 + return nullptr; |
590 } |
991 } |
591 |
992 |
592 TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers) |
993 TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers) |
593 Index: firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
994 : num_temporal_layers_(num_temporal_layers), |
594 =================================================================== |
995 sequence_number_(0), |
595 --- firefox-115.0.orig/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
996 last_sync_sequence_number_(0), |
596 +++ firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
997 last_tl0_sequence_number_(0) {} |
597 @@ -63,6 +63,7 @@ std::string ToString(VideoAdaptationReas |
998 |
|
999 diff --git a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
|
1000 --- a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
|
1001 +++ b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc |
|
1002 @@ -58,16 +58,17 @@ bool IsFramerateScalingEnabled(Degradati |
|
1003 std::string ToString(VideoAdaptationReason reason) { |
|
1004 switch (reason) { |
|
1005 case VideoAdaptationReason::kQuality: |
|
1006 return "quality"; |
|
1007 case VideoAdaptationReason::kCpu: |
598 return "cpu"; |
1008 return "cpu"; |
599 } |
1009 } |
600 RTC_CHECK_NOTREACHED(); |
1010 RTC_CHECK_NOTREACHED(); |
601 + return ""; |
1011 + return ""; |
602 } |
1012 } |
603 |
1013 |
604 std::vector<bool> GetActiveLayersFlags(const VideoCodec& codec) { |
1014 std::vector<bool> GetActiveLayersFlags(const VideoCodec& codec) { |
|
1015 std::vector<bool> flags; |
|
1016 if (codec.codecType == VideoCodecType::kVideoCodecVP9) { |
|
1017 flags.resize(codec.VP9().numberOfSpatialLayers); |
|
1018 for (size_t i = 0; i < flags.size(); ++i) { |
|
1019 flags[i] = codec.spatialLayers[i].active; |