MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / deviceToJson

Function deviceToJson

src/core/DeviceDiagnostics.cpp:75–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73}
74
75QJsonObject deviceToJson(const QAudioDevice& device,
76 const QAudioDevice& selected,
77 const QAudioDevice& defaultDevice,
78 const QString& direction)
79{
80 QJsonObject obj;
81 obj["direction"] = direction;
82 obj["available"] = !device.isNull();
83 if (device.isNull()) {
84 obj["description"] = "Unavailable";
85 obj["bus_type"] = "Unknown";
86 obj["bus_type_source"] = "no device";
87 return obj;
88 }
89
90 const AudioBusType bus = inferAudioBusType(device.description(), device.id());
91 obj["description"] = device.description();
92 obj["id_available"] = !device.id().isEmpty();
93 obj["id_fingerprint"] = idFingerprint(device.id());
94 obj["bus_type"] = bus.type;
95 obj["bus_type_source"] = bus.source;
96 obj["selected"] = sameDevice(device, selected);
97 obj["default"] = sameDevice(device, defaultDevice);
98 obj["minimum_sample_rate"] = device.minimumSampleRate();
99 obj["maximum_sample_rate"] = device.maximumSampleRate();
100 obj["minimum_channel_count"] = device.minimumChannelCount();
101 obj["maximum_channel_count"] = device.maximumChannelCount();
102 obj["preferred_format"] = formatToJson(device.preferredFormat());
103
104 if (direction == QStringLiteral("output")) {
105 obj["supports_24k_float_stereo"] = supportsFormat(device, 24000, 2, QAudioFormat::Float);
106 obj["supports_48k_float_stereo"] = supportsFormat(device, 48000, 2, QAudioFormat::Float);
107 } else {
108 obj["supports_24k_int16_stereo"] = supportsFormat(device, 24000, 2, QAudioFormat::Int16);
109 obj["supports_48k_int16_stereo"] = supportsFormat(device, 48000, 2, QAudioFormat::Int16);
110 obj["supports_24k_int16_mono"] = supportsFormat(device, 24000, 1, QAudioFormat::Int16);
111 obj["supports_48k_int16_mono"] = supportsFormat(device, 48000, 1, QAudioFormat::Int16);
112 }
113
114 return obj;
115}
116
117QJsonObject basicDeviceToJson(const QAudioDevice& device,
118 const QAudioDevice& selected,

Callers 2

deviceListToJsonFunction · 0.85

Calls 8

inferAudioBusTypeFunction · 0.85
idFingerprintFunction · 0.85
sameDeviceFunction · 0.85
formatToJsonFunction · 0.85
supportsFormatFunction · 0.85
isNullMethod · 0.80
idMethod · 0.80
isEmptyMethod · 0.45

Tested by

no test coverage detected