summaryrefslogtreecommitdiffstats
path: root/src/plugins/audiocapture/audioencodercontrol.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-03-24 03:00:12 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-03-24 03:00:12 +0100
commit7142f2d83b5f838702dc11f9706abb51eb9898d7 (patch)
tree56fc6f44f79d2dacc96645bdbec78aeac1ea93c2 /src/plugins/audiocapture/audioencodercontrol.cpp
parent2845e10810a50d6cba4f19a27cfefac10b06929a (diff)
parent58d83703d7d5435a74d59bdb906ca6a76b54f78f (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src/plugins/audiocapture/audioencodercontrol.cpp')
-rw-r--r--src/plugins/audiocapture/audioencodercontrol.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/plugins/audiocapture/audioencodercontrol.cpp b/src/plugins/audiocapture/audioencodercontrol.cpp
index d8a83bf26..6fc519cef 100644
--- a/src/plugins/audiocapture/audioencodercontrol.cpp
+++ b/src/plugins/audiocapture/audioencodercontrol.cpp
@@ -54,13 +54,12 @@ static QAudioFormat audioSettingsToAudioFormat(const QAudioEncoderSettings &sett
fmt.setCodec(settings.codec());
fmt.setChannelCount(settings.channelCount());
fmt.setSampleRate(settings.sampleRate());
- if (settings.sampleRate() == 8000 && settings.bitRate() == 8000) {
- fmt.setSampleType(QAudioFormat::UnSignedInt);
- fmt.setSampleSize(8);
- } else {
- fmt.setSampleSize(16);
- fmt.setSampleType(QAudioFormat::SignedInt);
- }
+ int sampleSize = 16;
+ if (settings.bitRate() && settings.channelCount() && settings.sampleRate())
+ sampleSize = settings.bitRate() / settings.channelCount() / settings.sampleRate();
+ fmt.setSampleSize(sampleSize);
+ fmt.setSampleType(sampleSize == 8 ? QAudioFormat::UnSignedInt : QAudioFormat::SignedInt);
+
fmt.setByteOrder(QAudioDeviceInfo::defaultInputDevice().preferredFormat().byteOrder());
return fmt;
}