3#if defined(Q_OS_WIN) || defined(Q_OS_MACOS)
4#include <QStyleFactory>
14#if defined(Q_OS_WIN) || defined(Q_OS_MACOS)
15 setStyle(QStyleFactory::create(
"Fusion"));
24 setFormat(
"No receiver report");
26 setToolTip(
"No RTCP receiver report. Note that this does not necessarily mean"
27 " that the receiver isn't receiving.");
34 auto tmp = std::string(line);
39 sscanf(tmp.c_str(),
"Receiver of 0x%08x reports RTT=%d usec, loss %f%% (out of %d)", &ssrc, &rtt, &
loss, &packets);
42 report.
total = packets;
43 report.
lost = packets * (
loss / 100.f);
57 for(
const auto& r :
reports.get()){
58 total += r.item.total;
60 tooltip += QString::number(r.ssrc, 16) +
61 ": RTT=" + QString::number(r.item.rtt_usec) +
"us\n";
64 if(tooltip.endsWith(
'\n'))
67 if(total < 1) total = 1;
69 float loss = (
static_cast<float>(lost) / total) * 100.f;
71 setFormat(
"Receiver reports %p% received");
72 setValue(100.f -
loss);
79 setFormat(
"Receiver report timed out");
80 setToolTip(
"Receiver reports stopped arriving");
bool sv_is_prefix(std::string_view haystack, std::string_view needle)
static struct @51 loss[MAX_HISTORY]