summaryrefslogtreecommitdiffstats
path: root/src/multimedia/audio
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-01-12 11:21:30 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-22 07:02:28 +0000
commit03364bdfea98bfab6e02098f4c77619ecec63b97 (patch)
treedc3984b736d0eaccf331a88e5eb4cef0eb748c9b /src/multimedia/audio
parentbf1eb37ac8e569ab929c0c2ab8655f07594ef4e9 (diff)
Provide a proper descriptive name for audio devices
deviceName() should probably go and be renamed to id(). Change-Id: I9e04f9194d21036adf21108e3206e77d608cc991 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/audio')
-rw-r--r--src/multimedia/audio/alsa/qalsaaudiodeviceinfo_p.h1
-rw-r--r--src/multimedia/audio/coreaudio/qcoreaudiodeviceinfo_p.h1
-rw-r--r--src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer.cpp8
-rw-r--r--src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer_p.h2
-rw-r--r--src/multimedia/audio/opensles/qopenslesdeviceinfo_p.h1
-rw-r--r--src/multimedia/audio/pulseaudio/qaudiodeviceinfo_pulse_p.h1
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp1
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.cpp12
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.h1
-rw-r--r--src/multimedia/audio/qaudiosystem_p.h1
-rw-r--r--src/multimedia/audio/qnx/qnxaudiodeviceinfo_p.h1
-rw-r--r--src/multimedia/audio/windows/qwindowsaudiodeviceinfo_p.h1
12 files changed, 30 insertions, 1 deletions
diff --git a/src/multimedia/audio/alsa/qalsaaudiodeviceinfo_p.h b/src/multimedia/audio/alsa/qalsaaudiodeviceinfo_p.h
index 94711c539..68206a152 100644
--- a/src/multimedia/audio/alsa/qalsaaudiodeviceinfo_p.h
+++ b/src/multimedia/audio/alsa/qalsaaudiodeviceinfo_p.h
@@ -82,6 +82,7 @@ public:
QAudioFormat preferredFormat() const override;
bool isFormatSupported(const QAudioFormat& format) const override;
QString deviceName() const override;
+ QString description() const override { return deviceName(); }
QStringList supportedCodecs() override;
QList<int> supportedSampleRates() override;
QList<int> supportedChannelCounts() override;
diff --git a/src/multimedia/audio/coreaudio/qcoreaudiodeviceinfo_p.h b/src/multimedia/audio/coreaudio/qcoreaudiodeviceinfo_p.h
index 7c5004f10..ca8870845 100644
--- a/src/multimedia/audio/coreaudio/qcoreaudiodeviceinfo_p.h
+++ b/src/multimedia/audio/coreaudio/qcoreaudiodeviceinfo_p.h
@@ -69,6 +69,7 @@ public:
QAudioFormat preferredFormat() const;
bool isFormatSupported(const QAudioFormat &format) const;
QString deviceName() const;
+ QString description() const { return deviceName(); }
QStringList supportedCodecs();
QList<int> supportedSampleRates();
QList<int> supportedChannelCounts();
diff --git a/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer.cpp b/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer.cpp
index 5399bfaf6..ace067540 100644
--- a/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer.cpp
+++ b/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer.cpp
@@ -57,6 +57,9 @@ QGStreamerAudioDeviceInfo::QGStreamerAudioDeviceInfo(const QByteArray &device, Q
if (device == name) {
gstDevice = d;
gst_object_ref(gstDevice);
+ auto *n = gst_device_get_display_name(gstDevice);
+ m_description = QString::fromUtf8(n);
+ g_free(n);
}
}
@@ -94,6 +97,11 @@ QString QGStreamerAudioDeviceInfo::deviceName() const
return QString::fromUtf8(m_device);
}
+QString QGStreamerAudioDeviceInfo::description() const
+{
+ return m_description;
+}
+
QStringList QGStreamerAudioDeviceInfo::supportedCodecs()
{
return QStringList() << QString::fromLatin1("audio/x-raw");
diff --git a/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer_p.h b/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer_p.h
index 45ee4e9f8..85c7a2c92 100644
--- a/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer_p.h
+++ b/src/multimedia/audio/gstreamer/qaudiodeviceinfo_gstreamer_p.h
@@ -74,6 +74,7 @@ public:
QAudioFormat preferredFormat() const override;
bool isFormatSupported(const QAudioFormat &format) const override;
QString deviceName() const override;
+ QString description() const override;
QStringList supportedCodecs() override;
QList<int> supportedSampleRates() override;
QList<int> supportedChannelCounts() override;
@@ -82,6 +83,7 @@ public:
QList<QAudioFormat::SampleType> supportedSampleTypes() override;
QByteArray m_device;
+ QString m_description;
QAudio::Mode m_mode;
GstDevice *gstDevice = nullptr;
};
diff --git a/src/multimedia/audio/opensles/qopenslesdeviceinfo_p.h b/src/multimedia/audio/opensles/qopenslesdeviceinfo_p.h
index ce440b836..8cbb17e9e 100644
--- a/src/multimedia/audio/opensles/qopenslesdeviceinfo_p.h
+++ b/src/multimedia/audio/opensles/qopenslesdeviceinfo_p.h
@@ -68,6 +68,7 @@ public:
QAudioFormat preferredFormat() const;
bool isFormatSupported(const QAudioFormat &format) const;
QString deviceName() const;
+ QString description() const { return deviceName(); }
QStringList supportedCodecs();
QList<int> supportedSampleRates();
QList<int> supportedChannelCounts();
diff --git a/src/multimedia/audio/pulseaudio/qaudiodeviceinfo_pulse_p.h b/src/multimedia/audio/pulseaudio/qaudiodeviceinfo_pulse_p.h
index 6660f82db..f51b4a28a 100644
--- a/src/multimedia/audio/pulseaudio/qaudiodeviceinfo_pulse_p.h
+++ b/src/multimedia/audio/pulseaudio/qaudiodeviceinfo_pulse_p.h
@@ -72,6 +72,7 @@ public:
QAudioFormat preferredFormat() const override;
bool isFormatSupported(const QAudioFormat &format) const override;
QString deviceName() const override;
+ QString description() const override { return deviceName(); }
QStringList supportedCodecs() override;
QList<int> supportedSampleRates() override;
QList<int> supportedChannelCounts() override;
diff --git a/src/multimedia/audio/qaudiodevicefactory.cpp b/src/multimedia/audio/qaudiodevicefactory.cpp
index 8c7fdbb51..5821e8721 100644
--- a/src/multimedia/audio/qaudiodevicefactory.cpp
+++ b/src/multimedia/audio/qaudiodevicefactory.cpp
@@ -52,6 +52,7 @@ public:
[[nodiscard]] bool isFormatSupported(const QAudioFormat& ) const override { return false; }
[[nodiscard]] QAudioFormat nearestFormat(const QAudioFormat& ) const { return QAudioFormat(); }
[[nodiscard]] QString deviceName() const override { return QString(); }
+ QString description() const override { return deviceName(); };
QStringList supportedCodecs() override { return QStringList(); }
QList<int> supportedSampleRates() override { return QList<int>(); }
QList<int> supportedChannelCounts() override { return QList<int>(); }
diff --git a/src/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/audio/qaudiodeviceinfo.cpp
index 91f594c89..880106964 100644
--- a/src/multimedia/audio/qaudiodeviceinfo.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo.cpp
@@ -209,7 +209,7 @@ bool QAudioDeviceInfo::isNull() const
}
/*!
- Returns the human readable name of the audio device.
+ Returns an identifier for the audio device.
Device names vary depending on the platform/audio plugin being used.
@@ -223,6 +223,16 @@ QString QAudioDeviceInfo::deviceName() const
}
/*!
+ Returns a human readable name of the audio device.
+
+ Use this string to present the device to the user.
+*/
+QString QAudioDeviceInfo::description() const
+{
+ return isNull() ? QString() : d->info->description();
+}
+
+/*!
Returns true if the supplied \a settings are supported by the audio
device described by this QAudioDeviceInfo.
*/
diff --git a/src/multimedia/audio/qaudiodeviceinfo.h b/src/multimedia/audio/qaudiodeviceinfo.h
index 19556c430..ff2d22d6d 100644
--- a/src/multimedia/audio/qaudiodeviceinfo.h
+++ b/src/multimedia/audio/qaudiodeviceinfo.h
@@ -76,6 +76,7 @@ public:
bool isNull() const;
QString deviceName() const;
+ QString description() const;
bool isFormatSupported(const QAudioFormat &format) const;
QAudioFormat preferredFormat() const;
diff --git a/src/multimedia/audio/qaudiosystem_p.h b/src/multimedia/audio/qaudiosystem_p.h
index 1e3bd785e..33b883e8b 100644
--- a/src/multimedia/audio/qaudiosystem_p.h
+++ b/src/multimedia/audio/qaudiosystem_p.h
@@ -70,6 +70,7 @@ public:
virtual QAudioFormat preferredFormat() const = 0;
virtual bool isFormatSupported(const QAudioFormat &format) const = 0;
virtual QString deviceName() const = 0;
+ virtual QString description() const = 0;
virtual QStringList supportedCodecs() = 0;
virtual QList<int> supportedSampleRates() = 0;
virtual QList<int> supportedChannelCounts() = 0;
diff --git a/src/multimedia/audio/qnx/qnxaudiodeviceinfo_p.h b/src/multimedia/audio/qnx/qnxaudiodeviceinfo_p.h
index 2d34c0700..6f09c9d10 100644
--- a/src/multimedia/audio/qnx/qnxaudiodeviceinfo_p.h
+++ b/src/multimedia/audio/qnx/qnxaudiodeviceinfo_p.h
@@ -55,6 +55,7 @@ public:
QAudioFormat preferredFormat() const override;
bool isFormatSupported(const QAudioFormat &format) const override;
QString deviceName() const override;
+ QString description() const override { return deviceName(); }
QStringList supportedCodecs() override;
QList<int> supportedSampleRates() override;
QList<int> supportedChannelCounts() override;
diff --git a/src/multimedia/audio/windows/qwindowsaudiodeviceinfo_p.h b/src/multimedia/audio/windows/qwindowsaudiodeviceinfo_p.h
index 8af194fa0..2b6c9c748 100644
--- a/src/multimedia/audio/windows/qwindowsaudiodeviceinfo_p.h
+++ b/src/multimedia/audio/windows/qwindowsaudiodeviceinfo_p.h
@@ -82,6 +82,7 @@ public:
QAudioFormat preferredFormat() const;
bool isFormatSupported(const QAudioFormat& format) const;
QString deviceName() const;
+ QString description() const { return deviceName(); }
QStringList supportedCodecs();
QList<int> supportedSampleRates();
QList<int> supportedChannelCounts();