summaryrefslogtreecommitdiff
path: root/src/Wav.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2013-05-28 18:13:12 +0000
committerjhurst <>2013-05-28 18:13:12 +0000
commitdc0a23dd428b933040c9ff1602f5d35a27cbc8cb (patch)
treeb69ecec63b08464545adfb741e059b7c34f125ef /src/Wav.cpp
parent252740d6f7d8924c6af30e55d2da487356a0acdc (diff)
patches
Diffstat (limited to 'src/Wav.cpp')
-rwxr-xr-xsrc/Wav.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Wav.cpp b/src/Wav.cpp
index 0f14850..0ba3fe8 100755
--- a/src/Wav.cpp
+++ b/src/Wav.cpp
@@ -371,7 +371,8 @@ ASDCP::RF64::SimpleRF64Header::SimpleRF64Header(ASDCP::PCM::AudioDescriptor& ADe
samplespersec = (ui32_t)ceil(ADesc.AudioSamplingRate.Quotient());
blockalign = nchannels * ((bitspersample + 7) / 8);
avgbps = samplespersec * blockalign;
- data_len = ASDCP::PCM::CalcFrameBufferSize(ADesc) * ADesc.ContainerDuration;
+ cbsize = 0;
+ data_len = static_cast<ui64_t>(ASDCP::PCM::CalcFrameBufferSize(ADesc)) * ADesc.ContainerDuration;
}
//
@@ -402,7 +403,8 @@ ASDCP::RF64::SimpleRF64Header::WriteToFile(Kumu::FileWriter& OutFile) const
+ sizeof(samplespersec)
+ sizeof(avgbps)
+ sizeof(blockalign)
- + sizeof(bitspersample);
+ + sizeof(bitspersample)
+ + sizeof(cbsize);
ui32_t write_count = 0;
ui64_t RIFF_len = data_len + SimpleWavHeaderLength - 8;
@@ -441,6 +443,7 @@ ASDCP::RF64::SimpleRF64Header::WriteToFile(Kumu::FileWriter& OutFile) const
*((ui32_t*)p) = KM_i32_LE(avgbps); p += 4;
*((ui16_t*)p) = KM_i16_LE(blockalign); p += 2;
*((ui16_t*)p) = KM_i16_LE(bitspersample); p += 2;
+ *((ui16_t*)p) = KM_i16_LE(cbsize); p += 2;
memcpy(p, &Wav::FCC_data, sizeof(fourcc)); p += 4;
*((ui32_t*)p) = KM_i32_LE(data32_len); p += 4;
write_count = (p - tmp_header);
@@ -462,6 +465,7 @@ ASDCP::RF64::SimpleRF64Header::WriteToFile(Kumu::FileWriter& OutFile) const
*((ui32_t*)p) = KM_i32_LE(avgbps); p += 4;
*((ui16_t*)p) = KM_i16_LE(blockalign); p += 2;
*((ui16_t*)p) = KM_i16_LE(bitspersample); p += 2;
+ *((ui16_t*)p) = KM_i16_LE(cbsize); p += 2;
memcpy(p, &Wav::FCC_data, sizeof(fourcc)); p += 4;
*((ui32_t*)p) = KM_i32_LE(data_len); p += 4;
write_count = (p - tmp_header);