diff options
author | Tim Blechmann <tim@klingt.org> | 2024-04-15 09:58:46 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-04-18 08:57:23 +0800 |
commit | c90378e28ba9d056e5f3a20ae384fc4878c68fb3 (patch) | |
tree | 3ff5bb0a87a83a35d82c5c4b03383e4d48a20256 | |
parent | 71a9a3ad059556ebf8fad6f00e37c314fd2babb2 (diff) |
pulseaudio: clean up string handling
* silence QT_ASCII_CAST_WARN warnings by wrapping c strings in
QLatin1StringView / QString::fromUtf8
* use string literals to create strings to avoid utf16 conversions at
run-time
Pick-to: 6.5 6.7
Change-Id: I38a217dd21bc48108a55b32ae2ac2770f273306f
Reviewed-by: Mikko Hallamaa <mikko.hallamaa@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r-- | src/multimedia/pulseaudio/qaudioengine_pulse.cpp | 89 |
1 files changed, 47 insertions, 42 deletions
diff --git a/src/multimedia/pulseaudio/qaudioengine_pulse.cpp b/src/multimedia/pulseaudio/qaudioengine_pulse.cpp index 4116a772a..101e64b40 100644 --- a/src/multimedia/pulseaudio/qaudioengine_pulse.cpp +++ b/src/multimedia/pulseaudio/qaudioengine_pulse.cpp @@ -62,6 +62,8 @@ static bool updateDevicesMap(QReadWriteLock &lock, QByteArray defaultDeviceId, static void serverInfoCallback(pa_context *context, const pa_server_info *info, void *userdata) { + using namespace Qt::Literals; + if (!info) { qWarning() << QStringLiteral("Failed to get server information: %s").arg(QString::fromUtf8(pa_strerror(pa_context_errno(context)))); return; @@ -73,22 +75,21 @@ static void serverInfoCallback(pa_context *context, const pa_server_info *info, pa_sample_spec_snprint(ss, sizeof(ss), &info->sample_spec); pa_channel_map_snprint(cm, sizeof(cm), &info->channel_map); - qCDebug(qLcPulseAudioEngine) << QStringLiteral("User name: %1\n" - "Host Name: %2\n" - "Server Name: %3\n" - "Server Version: %4\n" - "Default Sample Specification: %5\n" - "Default Channel Map: %6\n" - "Default Sink: %7\n" - "Default Source: %8\n").arg( - info->user_name, - info->host_name, - info->server_name, - info->server_version, - ss, - cm, - info->default_sink_name, - info->default_source_name); + qCDebug(qLcPulseAudioEngine) + << QStringLiteral("User name: %1\n" + "Host Name: %2\n" + "Server Name: %3\n" + "Server Version: %4\n" + "Default Sample Specification: %5\n" + "Default Channel Map: %6\n" + "Default Sink: %7\n" + "Default Source: %8\n") + .arg(QString::fromUtf8(info->user_name), + QString::fromUtf8(info->host_name), + QString::fromUtf8(info->server_name), + QLatin1StringView(info->server_version), QLatin1StringView(ss), + QLatin1StringView(cm), QString::fromUtf8(info->default_sink_name), + QString::fromUtf8(info->default_source_name)); } QPulseAudioEngine *pulseEngine = static_cast<QPulseAudioEngine*>(userdata); @@ -125,7 +126,9 @@ static void serverInfoCallback(pa_context *context, const pa_server_info *info, static void sinkInfoCallback(pa_context *context, const pa_sink_info *info, int isLast, void *userdata) { - QPulseAudioEngine *pulseEngine = static_cast<QPulseAudioEngine*>(userdata); + using namespace Qt::Literals; + + QPulseAudioEngine *pulseEngine = static_cast<QPulseAudioEngine *>(userdata); if (isLast < 0) { qWarning() << QStringLiteral("Failed to get sink information: %s").arg(QString::fromUtf8(pa_strerror(pa_context_errno(context)))); @@ -141,19 +144,19 @@ static void sinkInfoCallback(pa_context *context, const pa_sink_info *info, int if (Q_UNLIKELY(qLcPulseAudioEngine().isEnabled(QtDebugMsg))) { static const QMap<pa_sink_state, QString> stateMap{ - { PA_SINK_INVALID_STATE, "n/a" }, { PA_SINK_RUNNING, "RUNNING" }, - { PA_SINK_IDLE, "IDLE" }, { PA_SINK_SUSPENDED, "SUSPENDED" }, - { PA_SINK_UNLINKED, "UNLINKED" }, + { PA_SINK_INVALID_STATE, u"n/a"_s }, { PA_SINK_RUNNING, u"RUNNING"_s }, + { PA_SINK_IDLE, u"IDLE"_s }, { PA_SINK_SUSPENDED, u"SUSPENDED"_s }, + { PA_SINK_UNLINKED, u"UNLINKED"_s }, }; - qCDebug(qLcPulseAudioEngine) << QStringLiteral("Sink #%1\n" - "\tState: %2\n" - "\tName: %3\n" - "\tDescription: %4\n" - ).arg(QString::number(info->index), - stateMap.value(info->state), - info->name, - info->description); + qCDebug(qLcPulseAudioEngine) + << QStringLiteral("Sink #%1\n" + "\tState: %2\n" + "\tName: %3\n" + "\tDescription: %4\n") + .arg(QString::number(info->index), stateMap.value(info->state), + QString::fromUtf8(info->name), + QString::fromUtf8(info->description)); } if (updateDevicesMap(pulseEngine->m_sinkLock, pulseEngine->m_defaultSink, pulseEngine->m_sinks, @@ -163,6 +166,8 @@ static void sinkInfoCallback(pa_context *context, const pa_sink_info *info, int static void sourceInfoCallback(pa_context *context, const pa_source_info *info, int isLast, void *userdata) { + using namespace Qt::Literals; + Q_UNUSED(context); QPulseAudioEngine *pulseEngine = static_cast<QPulseAudioEngine*>(userdata); @@ -174,20 +179,20 @@ static void sourceInfoCallback(pa_context *context, const pa_source_info *info, Q_ASSERT(info); if (Q_UNLIKELY(qLcPulseAudioEngine().isEnabled(QtDebugMsg))) { - static const QMap<pa_source_state, QString> stateMap{ { PA_SOURCE_INVALID_STATE, "n/a" }, - { PA_SOURCE_RUNNING, "RUNNING" }, - { PA_SOURCE_IDLE, "IDLE" }, - { PA_SOURCE_SUSPENDED, "SUSPENDED" }, - { PA_SOURCE_UNLINKED, "UNLINKED" } }; - - qCDebug(qLcPulseAudioEngine) << QStringLiteral("Source #%1\n" - "\tState: %2\n" - "\tName: %3\n" - "\tDescription: %4\n" - ).arg(QString::number(info->index), - stateMap.value(info->state), - info->name, - info->description); + static const QMap<pa_source_state, QString> stateMap{ + { PA_SOURCE_INVALID_STATE, u"n/a"_s }, { PA_SOURCE_RUNNING, u"RUNNING"_s }, + { PA_SOURCE_IDLE, u"IDLE"_s }, { PA_SOURCE_SUSPENDED, u"SUSPENDED"_s }, + { PA_SOURCE_UNLINKED, u"UNLINKED"_s }, + }; + + qCDebug(qLcPulseAudioEngine) + << QStringLiteral("Source #%1\n" + "\tState: %2\n" + "\tName: %3\n" + "\tDescription: %4\n") + .arg(QString::number(info->index), stateMap.value(info->state), + QString::fromUtf8(info->name), + QString::fromUtf8(info->description)); } // skip monitor channels |