tree 6458a426ddb0bced12fd787f89085400595c6db7
parent bf2a70a14ddebd00a2dfc85686a7fb6f3997b712
author Jiwon Jung <warren@hpcnt.com> 1633684977 +0900
committer WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> 1634637372 +0000

Proper assignment of FEC setting to encoders in SoftwareFallbackWrapper.

When using VideoEncoderSoftwareFallbackWrapper, releasing and
initialization of encoder_ (H/W) and fallback_encoder_(S/W) happen
repeatedly as reconfiguration procedure is called from higher layer.

Below problems would occur when our encoder_(H/W) fails to initialize
or encode.

Firstly, some encoders' SetFecControllerOverride() functions will fail
during repeated calls since they have checks like
RTC_DCHECK(!fec_controller_override_) to avoid repeated assignment of
fec_controller_override_.
(see : LibvpxVp8Encoder::SetFecControllerOverride())

Secondly, if main_ encoder fails to initialize at first attempt, FEC
setting (fec_controller_override) will not set until reconfiguration
procedure is called again.

This CL comes with two changes to fix above problems.
1. Sets fec_controller_override to both encoders when
SoftwareFallbackWrapper::SetFecController() is called.
2. Removes the current_encoder()->SetFecControllerOverride() in
PrimeEncoder() to avoid redundant calls which may involve fatal error.

Bug: webrtc:13184
Change-Id: I082c93de552bc9ec3141c6490d35acfcee2f8935
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234301
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35231}
