summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2024-04-15 09:58:46 +0800
committerTim Blechmann <tim@klingt.org>2024-04-18 08:57:23 +0800
commitc90378e28ba9d056e5f3a20ae384fc4878c68fb3 (patch)
tree3ff5bb0a87a83a35d82c5c4b03383e4d48a20256
parent71a9a3ad059556ebf8fad6f00e37c314fd2babb2 (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.cpp89
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