diff options
| author | mikey <mikey@cinecert.com> | 2013-04-12 23:39:31 +0000 |
|---|---|---|
| committer | mikey <> | 2013-04-12 23:39:31 +0000 |
| commit | 252740d6f7d8924c6af30e55d2da487356a0acdc (patch) | |
| tree | ba01aa630cf6cd11e7c286a60380aa35be916616 /src/WavFileWriter.h | |
| parent | c9e20228d6c328a0b446c1417e0082389ff045ff (diff) | |
Added atmos support and new ULs per SMPTE 429-2:2013 - see README for deets.
Diffstat (limited to 'src/WavFileWriter.h')
| -rwxr-xr-x | src/WavFileWriter.h | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/src/WavFileWriter.h b/src/WavFileWriter.h index 3febc23..9611adc 100755 --- a/src/WavFileWriter.h +++ b/src/WavFileWriter.h @@ -136,22 +136,36 @@ class WavFileWriter assert(file_count && m_ChannelCount); ui32_t element_size = ASDCP::PCM::CalcFrameBufferSize(m_ADesc) / file_count; - - for ( ui32_t i = 0; i < file_count && ASDCP_SUCCESS(result); i++ ) - { - snprintf(filename, Kumu::MaxFilePath, "%s_%u.wav", file_root, (i + 1)); - m_OutFile.push_back(new WavFileElement(element_size)); - result = m_OutFile.back()->OpenWrite(filename); - - if ( ASDCP_SUCCESS(result) ) - { - ASDCP::PCM::AudioDescriptor tmpDesc = m_ADesc; - tmpDesc.ChannelCount = m_ChannelCount; - ASDCP::Wav::SimpleWaveHeader Wav(tmpDesc); - result = Wav.WriteToFile(*(m_OutFile.back())); - } - } - + if (split == ST_NONE) + { + snprintf(filename, Kumu::MaxFilePath, "%s", file_root); + m_OutFile.push_back(new WavFileElement(element_size)); + result = m_OutFile.back()->OpenWrite(filename); + if ( ASDCP_SUCCESS(result) ) + { + ASDCP::PCM::AudioDescriptor tmpDesc = m_ADesc; + tmpDesc.ChannelCount = m_ChannelCount; + ASDCP::RF64::SimpleRF64Header Wav(tmpDesc); + result = Wav.WriteToFile(*(m_OutFile.back())); + } + } + else + { + for ( ui32_t i = 0; i < file_count && ASDCP_SUCCESS(result); i++ ) + { + snprintf(filename, Kumu::MaxFilePath, "%s_%u.wav", file_root, (i + 1)); + m_OutFile.push_back(new WavFileElement(element_size)); + result = m_OutFile.back()->OpenWrite(filename); + + if ( ASDCP_SUCCESS(result) ) + { + ASDCP::PCM::AudioDescriptor tmpDesc = m_ADesc; + tmpDesc.ChannelCount = m_ChannelCount; + ASDCP::RF64::SimpleRF64Header Wav(tmpDesc); + result = Wav.WriteToFile(*(m_OutFile.back())); + } + } + } return result; } |
