Fixing null rtc::Optional dereference in VideoQualityObserver.
Was crashing if |is_paused_| is true for the first few frames, resulting in |interframe_delays_| being given fewer samples than |num_frames_decoded_|. So checking |num_frames_decoded_| wasn't sufficient; really should just check if |interframe_delays_.Avg| returns a nullopt or not. Bug: webrtc:9338 Change-Id: Ie74e88f7ec5ecef85a07145b9576f54b2a089f63 Reviewed-on: https://webrtc-review.googlesource.com/80040 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23463}
This commit is contained in:

committed by
Commit Bot

parent
750efbe5ce
commit
f0b83c5e87
@ -128,7 +128,7 @@ void VideoQualityObserver::OnDecodedFrame(rtc::Optional<uint8_t> qp,
|
||||
rtc::Optional<int> avg_interframe_delay =
|
||||
interframe_delays_.Avg(kMinFrameSamplesToDetectFreeze);
|
||||
// Check if it was a freeze.
|
||||
if (num_frames_decoded_ > kMinFrameSamplesToDetectFreeze &&
|
||||
if (avg_interframe_delay &&
|
||||
interframe_delay_ms >=
|
||||
std::max(3 * *avg_interframe_delay,
|
||||
*avg_interframe_delay + kMinIncreaseForFreezeMs)) {
|
||||
|
Reference in New Issue
Block a user