Work around stdc++ bug with clang

std::optional<T>::emplace() without a value is broken
on clang++ with gnu libstdc++. this workarounds the bug
by using the assignment operator instead.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227

Bug: None
Change-Id: I6fd096ff4d632259e6eab776e318c1d7b15e4bd5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365400
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43229}
This commit is contained in:
Patrick Reynolds 2024-10-11 19:14:46 +00:00 committed by WebRTC LUCI CQ
parent e19dd3c866
commit 36e5979951

View File

@ -2002,7 +2002,8 @@ void WebRtcVideoSendChannel::WebRtcVideoSendStream::SetCodec(
stream_config.raw_payload =
cs.codec.packetization == kPacketizationParamRaw;
if (i < parameters_.config.rtp.rtx.ssrcs.size()) {
auto& rtx = stream_config.rtx.emplace();
auto& rtx = stream_config.rtx.emplace(
decltype(stream_config.rtx)::value_type());
rtx.ssrc = parameters_.config.rtp.rtx.ssrcs[i];
rtx.payload_type = cs.rtx_payload_type;
}