From dd03f3ae2c71df2c4eb89804293e621777a050cf Mon Sep 17 00:00:00 2001 From: mikey Date: Tue, 29 Apr 2014 15:31:21 +0000 Subject: added a note about AS-02 support. --- src/AtmosSyncChannel_Mixer.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/AtmosSyncChannel_Mixer.cpp') diff --git a/src/AtmosSyncChannel_Mixer.cpp b/src/AtmosSyncChannel_Mixer.cpp index 70cfbfd..a58b3cd 100644 --- a/src/AtmosSyncChannel_Mixer.cpp +++ b/src/AtmosSyncChannel_Mixer.cpp @@ -252,6 +252,45 @@ ASDCP::AtmosSyncChannelMixer::MixInAtmosSyncChannel() return result; } +// +Result_t +ASDCP::AtmosSyncChannelMixer::AppendSilenceChannels(const ui32_t& channel_count) +{ + if ( m_ADesc.QuantizationBits == 0 ) + { + DefaultLogSink().Error("Mixer object contains no channels, call OpenRead() first.\n"); + return RESULT_PARAM; + } + + Result_t result = RESULT_OK; + PCM::AudioDescriptor tmpDesc; + + if ( channel_count > 0 ) + { + Kumu::mem_ptr I = + new SilenceDataProvider(channel_count, + m_ADesc.QuantizationBits, + m_ADesc.AudioSamplingRate.Numerator, + m_ADesc.EditRate); + + result = I->FillAudioDescriptor(tmpDesc); + + if ( ASDCP_SUCCESS(result) ) + { + m_ADesc.BlockAlign += tmpDesc.BlockAlign; + m_ChannelCount += tmpDesc.ChannelCount; + m_ADesc.ChannelCount = m_ChannelCount; + m_ADesc.AvgBps = (ui32_t)(ceil(m_ADesc.AudioSamplingRate.Quotient()) * m_ADesc.BlockAlign); + + m_outputs.push_back(std::make_pair(channel_count, I.get())); + m_inputs.push_back(I); + I.release(); + } + } + + return result; +} + // Result_t ASDCP::AtmosSyncChannelMixer::FillAudioDescriptor(PCM::AudioDescriptor& ADesc) const -- cgit v1.2.3