Title: [266810] trunk/Source/ThirdParty/libwebrtc
Revision
266810
Author
ddkil...@apple.com
Date
2020-09-09 19:51:41 -0700 (Wed, 09 Sep 2020)

Log Message

[WebRTC] Fix uninitialized fields in FilterAnalyzer::ConsistentFilterDetector, FilterAnalyzer::FilterAnalysisState and InterArrival::TimestampGroup
<https://webkit.org/b/216314>

Reviewed by Youenn Fablet.

* Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
(webrtc::FilterAnalyzer::ConsistentFilterDetector):
- Initialize fields in declarations. This matches the values set
  by webrtc::FilterAnalyzer::ConsistentFilterDetector::Reset().
(webrtc::FilterAnalyzer::FilterAnalysisState):
- Initialize fields in declarations. Note that the
  FilterAnalysis constructor calls FilterAnalyzer::Reset(),
  which also sets these fields, but after the FilterAnalysisState
  construtor is called.
* Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h:
(webrtc::InterArrival::TimestampGroup::TimestampGroup):
- Initialize field in constructor argument list.
* WebKit/0001-fix-216314.patch: Add.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (266809 => 266810)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2020-09-10 02:47:05 UTC (rev 266809)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2020-09-10 02:51:41 UTC (rev 266810)
@@ -1,3 +1,24 @@
+2020-09-09  David Kilzer  <ddkil...@apple.com>
+
+        [WebRTC] Fix uninitialized fields in FilterAnalyzer::ConsistentFilterDetector, FilterAnalyzer::FilterAnalysisState and InterArrival::TimestampGroup
+        <https://webkit.org/b/216314>
+
+        Reviewed by Youenn Fablet.
+
+        * Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
+        (webrtc::FilterAnalyzer::ConsistentFilterDetector):
+        - Initialize fields in declarations. This matches the values set
+          by webrtc::FilterAnalyzer::ConsistentFilterDetector::Reset().
+        (webrtc::FilterAnalyzer::FilterAnalysisState):
+        - Initialize fields in declarations. Note that the
+          FilterAnalysis constructor calls FilterAnalyzer::Reset(),
+          which also sets these fields, but after the FilterAnalysisState
+          construtor is called.
+        * Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h:
+        (webrtc::InterArrival::TimestampGroup::TimestampGroup):
+        - Initialize field in constructor argument list.
+        * WebKit/0001-fix-216314.patch: Add.
+
 2020-09-07  Youenn Fablet  <you...@apple.com>
 
         Add missing members to RTCIceCandidate

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h (266809 => 266810)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h	2020-09-10 02:47:05 UTC (rev 266809)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h	2020-09-10 02:51:41 UTC (rev 266810)
@@ -99,11 +99,11 @@
                 int delay_blocks);
 
    private:
-    bool significant_peak_;
-    float filter_floor_accum_;
-    float filter_secondary_peak_;
-    size_t filter_floor_low_limit_;
-    size_t filter_floor_high_limit_;
+    bool significant_peak_ = false;
+    float filter_floor_accum_ = 0.f;
+    float filter_secondary_peak_ = 0.f;
+    size_t filter_floor_low_limit_ = 0;
+    size_t filter_floor_high_limit_ = 0;
     const float active_render_threshold_;
     size_t consistent_estimate_counter_ = 0;
     int consistent_delay_reference_ = -10;
@@ -113,8 +113,8 @@
     explicit FilterAnalysisState(const EchoCanceller3Config& config)
         : filter_length_blocks(config.filter.main_initial.length_blocks),
           consistent_filter_detector(config) {}
-    float gain;
-    size_t peak_index;
+    float gain = 0.f;
+    size_t peak_index = 0;
     int filter_length_blocks;
     bool consistent_estimate = false;
     ConsistentFilterDetector consistent_filter_detector;

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h (266809 => 266810)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h	2020-09-10 02:47:05 UTC (rev 266809)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h	2020-09-10 02:51:41 UTC (rev 266810)
@@ -58,7 +58,8 @@
           first_timestamp(0),
           timestamp(0),
           first_arrival_ms(-1),
-          complete_time_ms(-1) {}
+          complete_time_ms(-1),
+          last_system_time_ms(0) {}
 
     bool IsFirstPacket() const { return complete_time_ms == -1; }
 

Added: trunk/Source/ThirdParty/libwebrtc/WebKit/0001-fix-216314.patch (0 => 266810)


--- trunk/Source/ThirdParty/libwebrtc/WebKit/0001-fix-216314.patch	                        (rev 0)
+++ trunk/Source/ThirdParty/libwebrtc/WebKit/0001-fix-216314.patch	2020-09-10 02:51:41 UTC (rev 266810)
@@ -0,0 +1,76 @@
+From ce74a7a03a8e661ba60bde4ea32cda8c66723a4a Mon Sep 17 00:00:00 2001
+From: David Kilzer <ddkil...@apple.com>
+Date: Wed, 9 Sep 2020 10:14:45 -0700
+Subject: [PATCH] [WebRTC] Fix uninitialized fields in
+ FilterAnalyzer::ConsistentFilterDetector, FilterAnalyzer::FilterAnalysisState
+ and InterArrival::TimestampGroup <https://webkit.org/b/216314>
+
+Reviewed by NOBODY (OOPS!).
+
+* Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
+(webrtc::FilterAnalyzer::ConsistentFilterDetector):
+- Initialize fields in declarations. This matches the values set
+  by webrtc::FilterAnalyzer::ConsistentFilterDetector::Reset().
+(webrtc::FilterAnalyzer::FilterAnalysisState):
+- Initialize fields in declarations. Note that the
+  FilterAnalysis constructor calls FilterAnalyzer::Reset(),
+  which also sets these fields, but after the FilterAnalysisState
+  construtor is called.
+* Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h:
+(webrtc::InterArrival::TimestampGroup::TimestampGroup):
+- Initialize field in constructor argument list.
+---
+ Source/ThirdParty/libwebrtc/ChangeLog         | 20 +++++++++++++++++++
+ .../audio_processing/aec3/filter_analyzer.h   | 14 ++++++-------
+ .../remote_bitrate_estimator/inter_arrival.h  |  3 ++-
+ 3 files changed, 29 insertions(+), 8 deletions(-)
+
+diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h
+index a7375778c676..9de0a0d04a1d 100644
+--- a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h
++++ b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h
+@@ -99,11 +99,11 @@ class FilterAnalyzer {
+                 int delay_blocks);
+ 
+    private:
+-    bool significant_peak_;
+-    float filter_floor_accum_;
+-    float filter_secondary_peak_;
+-    size_t filter_floor_low_limit_;
+-    size_t filter_floor_high_limit_;
++    bool significant_peak_ = false;
++    float filter_floor_accum_ = 0.f;
++    float filter_secondary_peak_ = 0.f;
++    size_t filter_floor_low_limit_ = 0;
++    size_t filter_floor_high_limit_ = 0;
+     const float active_render_threshold_;
+     size_t consistent_estimate_counter_ = 0;
+     int consistent_delay_reference_ = -10;
+@@ -113,8 +113,8 @@ class FilterAnalyzer {
+     explicit FilterAnalysisState(const EchoCanceller3Config& config)
+         : filter_length_blocks(config.filter.main_initial.length_blocks),
+           consistent_filter_detector(config) {}
+-    float gain;
+-    size_t peak_index;
++    float gain = 0.f;
++    size_t peak_index = 0;
+     int filter_length_blocks;
+     bool consistent_estimate = false;
+     ConsistentFilterDetector consistent_filter_detector;
+diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h
+index 1d84970deb2b..2d2194683e9e 100644
+--- a/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h
++++ b/Source/ThirdParty/libwebrtc/Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h
+@@ -58,7 +58,8 @@ class InterArrival {
+           first_timestamp(0),
+           timestamp(0),
+           first_arrival_ms(-1),
+-          complete_time_ms(-1) {}
++          complete_time_ms(-1),
++          last_system_time_ms(0) {}
+ 
+     bool IsFirstPacket() const { return complete_time_ms == -1; }
+ 
+-- 
+2.21.0 (Apple Git-122)
+
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to