Commit b76958f2 authored by Yoann Lopes's avatar Yoann Lopes
Browse files

AudioCapture: fix data chunk size in WAV header


The size in the data chunk was missing 8 bytes.

Task-number: QTBUG-54710
Change-Id: I0530ea9d2420dd90d196993e1678003697c0ebaa
Reviewed-by: default avatarChristian Stromme <christian.stromme@qt.io>
Showing with 4 additions and 3 deletions
...@@ -342,11 +342,12 @@ void AudioCaptureSession::stop() ...@@ -342,11 +342,12 @@ void AudioCaptureSession::stop()
file.stopProbes(); file.stopProbes();
file.close(); file.close();
if (m_wavFile) { if (m_wavFile) {
qint32 fileSize = file.size()-8; qint32 fileSize = file.size();
file.open(QIODevice::ReadWrite | QIODevice::Unbuffered); file.open(QIODevice::ReadWrite | QIODevice::Unbuffered);
file.read((char*)&header,sizeof(CombinedHeader)); file.read((char*)&header,sizeof(CombinedHeader));
header.riff.descriptor.size = fileSize; // filesize-8 header.riff.descriptor.size = fileSize - 8; // The RIFF chunk size is the file size minus
header.data.descriptor.size = fileSize-44; // samples*channels*sampleSize/8 // the first two RIFF fields (8 bytes)
header.data.descriptor.size = fileSize - 44; // dataSize = fileSize - headerSize (44 bytes)
file.seek(0); file.seek(0);
file.write((char*)&header,sizeof(CombinedHeader)); file.write((char*)&header,sizeof(CombinedHeader));
file.close(); file.close();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment