summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/windows/player/mfplayersession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/windows/player/mfplayersession.cpp')
-rw-r--r--src/multimedia/platform/windows/player/mfplayersession.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/multimedia/platform/windows/player/mfplayersession.cpp b/src/multimedia/platform/windows/player/mfplayersession.cpp
index 0c3f10b9f..359748832 100644
--- a/src/multimedia/platform/windows/player/mfplayersession.cpp
+++ b/src/multimedia/platform/windows/player/mfplayersession.cpp
@@ -547,13 +547,12 @@ QAudioFormat MFPlayerSession::audioFormatForMFMediaType(IMFMediaType *mediaType)
QAudioFormat format;
format.setSampleRate(wfx->nSamplesPerSec);
format.setChannelCount(wfx->nChannels);
- format.setSampleSize(wfx->wBitsPerSample);
- format.setCodec("audio/x-raw");
- format.setByteOrder(QAudioFormat::LittleEndian);
- if (format.sampleSize() == 8)
- format.setSampleType(QAudioFormat::UnSignedInt);
- else
- format.setSampleType(QAudioFormat::SignedInt);
+ if (wfx->wBitsPerSample == 8)
+ format.setSampleFormat(QAudioFormat::UInt8);
+ else if (wfx->wBitsPerSample == 16)
+ format.setSampleFormat(QAudioFormat::Int16);
+ else if (wfx->wBitsPerSample == 32)
+ format.setSampleFormat(QAudioFormat::Int32);
CoTaskMemFree(wfx);
return format;