From 0707093c0a5df15911d72c3b2e8001b3428f2e2e Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Mon, 12 Feb 2024 09:17:56 +0100 Subject: www/qt6-webengine: fix build with clang 18 Clang 18 has become more stringent about narrowing in initializer lists, resulting in errors when building www/qt6-webengine: ../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc:192:54: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] 192 | {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy}, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc:194:8: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] 194 | info.total_output_duration}}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ Cherry-pick https://webrtc.googlesource.com/src/+/267f9bdd53 into the thirdparty directory, which fixes these errors. PR: 276997 MFH: 2024Q1 --- ...rd__party_webrtc_pc_legacy__stats__collector.cc | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc new file mode 100644 index 000000000000..7c8461b8c921 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc @@ -0,0 +1,114 @@ +commit 267f9bdd53a37d1cbee760d5af07880198e1beef +Author: Tommi +Date: 2023-12-21T14:08:26+01:00 + + Update LegacyStatsCollector to conform with Wc++11-narrowing + + Bug: none + Change-Id: Ida6a1af5c324473a55ea4f3b143862ea016ff50a + Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/332240 + Commit-Queue: Tomas Gunnarsson + Reviewed-by: Harald Alvestrand + Auto-Submit: Tomas Gunnarsson + Reviewed-by: Alexander Kornienko + Reviewed-by: Henrik Boström + Cr-Commit-Position: refs/heads/main@{#41432} + +--- src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc.orig 2023-11-20 16:08:07 UTC ++++ src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc +@@ -189,9 +189,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& in + {StatsReport::kStatsValueNameAccelerateRate, info.accelerate_rate}, + {StatsReport::kStatsValueNamePreemptiveExpandRate, + info.preemptive_expand_rate}, +- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy}, ++ {StatsReport::kStatsValueNameTotalAudioEnergy, ++ static_cast(info.total_output_energy)}, + {StatsReport::kStatsValueNameTotalSamplesDuration, +- info.total_output_duration}}; ++ static_cast(info.total_output_duration)}}; + + const IntForAdd ints[] = { + {StatsReport::kStatsValueNameCurrentDelayMs, info.delay_estimate_ms}, +@@ -245,9 +246,10 @@ void ExtractStats(const cricket::VoiceSenderInfo& info + SetAudioProcessingStats(report, info.apm_statistics); + + const FloatForAdd floats[] = { +- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_input_energy}, ++ {StatsReport::kStatsValueNameTotalAudioEnergy, ++ static_cast(info.total_input_energy)}, + {StatsReport::kStatsValueNameTotalSamplesDuration, +- info.total_input_duration}}; ++ static_cast(info.total_input_duration)}}; + + RTC_DCHECK_GE(info.audio_level, 0); + const IntForAdd ints[] = { +@@ -341,7 +343,8 @@ void ExtractStats(const cricket::VideoReceiverInfo& in + {StatsReport::kStatsValueNamePlisSent, info.plis_sent}, + {StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms}, + {StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms}, +- {StatsReport::kStatsValueNameFramesDecoded, info.frames_decoded}, ++ {StatsReport::kStatsValueNameFramesDecoded, ++ static_cast(info.frames_decoded)}, + }; + + for (const auto& i : ints) +@@ -385,15 +388,19 @@ void ExtractStats(const cricket::VideoSenderInfo& info + info.encode_usage_percent}, + {StatsReport::kStatsValueNameFirsReceived, info.firs_rcvd}, + {StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height}, +- {StatsReport::kStatsValueNameFrameRateInput, round(info.framerate_input)}, ++ {StatsReport::kStatsValueNameFrameRateInput, ++ static_cast(round(info.framerate_input))}, + {StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent}, + {StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width}, +- {StatsReport::kStatsValueNameNacksReceived, info.nacks_rcvd}, ++ {StatsReport::kStatsValueNameNacksReceived, ++ static_cast(info.nacks_rcvd)}, + {StatsReport::kStatsValueNamePacketsLost, info.packets_lost}, + {StatsReport::kStatsValueNamePacketsSent, info.packets_sent}, + {StatsReport::kStatsValueNamePlisReceived, info.plis_rcvd}, +- {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded}, +- {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent}, ++ {StatsReport::kStatsValueNameFramesEncoded, ++ static_cast(info.frames_encoded)}, ++ {StatsReport::kStatsValueNameHugeFramesSent, ++ static_cast(info.huge_frames_sent)}, + }; + + for (const auto& i : ints) +@@ -782,19 +789,25 @@ StatsReport* LegacyStatsCollector::AddConnectionInfoRe + AddCandidateReport(remote_candidate_stats, false)->id()); + + const Int64ForAdd int64s[] = { +- {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes}, +- {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes}, +- {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets}, +- {StatsReport::kStatsValueNameRtt, info.rtt}, ++ {StatsReport::kStatsValueNameBytesReceived, ++ static_cast(info.recv_total_bytes)}, ++ {StatsReport::kStatsValueNameBytesSent, ++ static_cast(info.sent_total_bytes)}, ++ {StatsReport::kStatsValueNamePacketsSent, ++ static_cast(info.sent_total_packets)}, ++ {StatsReport::kStatsValueNameRtt, static_cast(info.rtt)}, + {StatsReport::kStatsValueNameSendPacketsDiscarded, +- info.sent_discarded_packets}, ++ static_cast(info.sent_discarded_packets)}, + {StatsReport::kStatsValueNameSentPingRequestsTotal, +- info.sent_ping_requests_total}, ++ static_cast(info.sent_ping_requests_total)}, + {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse, +- info.sent_ping_requests_before_first_response}, +- {StatsReport::kStatsValueNameSentPingResponses, info.sent_ping_responses}, +- {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests}, +- {StatsReport::kStatsValueNameRecvPingResponses, info.recv_ping_responses}, ++ static_cast(info.sent_ping_requests_before_first_response)}, ++ {StatsReport::kStatsValueNameSentPingResponses, ++ static_cast(info.sent_ping_responses)}, ++ {StatsReport::kStatsValueNameRecvPingRequests, ++ static_cast(info.recv_ping_requests)}, ++ {StatsReport::kStatsValueNameRecvPingResponses, ++ static_cast(info.recv_ping_responses)}, + }; + for (const auto& i : int64s) + report->AddInt64(i.name, i.value); -- cgit v1.2.3