diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-06-17 15:35:05 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-30 12:12:19 +0000 |
commit | be862f8ef38f8cfc5a9cf51d1890e8ba7644c91c (patch) | |
tree | b1255a9f17c19bc0cfe3b3ea81e240ddd65f7b65 | |
parent | 29d0fbea51c9bb13f7a7cab184a0f81aa24c90a5 (diff) | |
download | qtmultimedia-be862f8ef38f8cfc5a9cf51d1890e8ba7644c91c.tar.gz |
QAudioHelpers: fix C++20 -Werror,-Wdeprecated-enum-float-conversion
Says Clang 10.0.0 -std=c++20:
qaudiohelpers.cpp:71:44: error: arithmetic between enumeration type 'QAudioHelperInternal::signedVersion<unsigned char>::(anonymous enum at /home/marc/Qt/qt5/qtmultimedia/src/multimedia/audio/qaudiohelpers.cpp:63:5)' and floating-point type 'double' is deprecated [-Werror,-Wdeprecated-enum-float-conversion]
pDst[i] = signedVersion<T>::offset + ((typename signedVersion<T>::TS)(pSrc[i] - signedVersion<T>::offset) * factor);
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fix by turning the enum { offset } into a static constexpr int
instead.
Task-number: QTBUG-104172
Change-Id: I92a22583fc5e1fc524364b64701aa8d416b82671
Reviewed-by: Lars Knoll <lars.knoll@gmail.com>
(cherry picked from commit 94d43085b3f3327b2bf2d644c5f984391f608d3a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/multimedia/audio/qaudiohelpers.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/multimedia/audio/qaudiohelpers.cpp b/src/multimedia/audio/qaudiohelpers.cpp index 1e7c4ac81..8efd33ebd 100644 --- a/src/multimedia/audio/qaudiohelpers.cpp +++ b/src/multimedia/audio/qaudiohelpers.cpp @@ -60,7 +60,7 @@ template<class T> struct signedVersion {}; template<> struct signedVersion<quint8> { using TS = qint8; - enum {offset = 0x80}; + static constexpr int offset = 0x80; }; template<class T> void adjustUnsignedSamples(qreal factor, const void *src, void *dst, int samples) |