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: Christian Stromme <christian.stromme@qt.io>
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user