diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-01-12 11:21:30 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-01-22 07:02:28 +0000 |
commit | 03364bdfea98bfab6e02098f4c77619ecec63b97 (patch) | |
tree | dc3984b736d0eaccf331a88e5eb4cef0eb748c9b /src/multimedia/audio | |
parent | bf1eb37ac8e569ab929c0c2ab8655f07594ef4e9 (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')
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(); |