diff options
| author | msheby <msheby@cinecert.com> | 2009-08-25 20:37:34 +0000 |
|---|---|---|
| committer | msheby <> | 2009-08-25 20:37:34 +0000 |
| commit | db7fa5c0ca1143b100edd42e06dec560a9c0e26e (patch) | |
| tree | 22224f3272acb5ac2cbfff6df91bcc729f96d084 /src/PCMParserList.cpp | |
| parent | 34164501e089d942417c741a0c305c2c620f8866 (diff) | |
Add GetSecondsSinceEpoch for Waimea.
Diffstat (limited to 'src/PCMParserList.cpp')
| -rwxr-xr-x | src/PCMParserList.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/PCMParserList.cpp b/src/PCMParserList.cpp index 919a76e..09bd44c 100755 --- a/src/PCMParserList.cpp +++ b/src/PCMParserList.cpp @@ -30,9 +30,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <PCMParserList.h> +#include <KM_log.h> #include <assert.h> using namespace ASDCP; +using namespace Kumu; ASDCP::ParserInstance::ParserInstance() : m_p(0), m_SampleSize(0) @@ -121,10 +123,28 @@ ASDCP::PCMParserList::OpenRead(ui32_t argc, const char** argv, Rational& Picture if ( ASDCP_SUCCESS(result) ) { if ( i == 0 ) - m_ADesc = I->ADesc; - + { + m_ADesc = I->ADesc; + } else - m_ADesc.BlockAlign += I->ADesc.BlockAlign; + { + if ( I->ADesc.AudioSamplingRate != m_ADesc.AudioSamplingRate ) + { + DefaultLogSink().Error("AudioSamplingRate mismatch in PCM parser list."); + return RESULT_FORMAT; + } + + if ( I->ADesc.QuantizationBits != m_ADesc.QuantizationBits ) + { + DefaultLogSink().Error("QuantizationBits mismatch in PCM parser list."); + return RESULT_FORMAT; + } + + if ( I->ADesc.ContainerDuration < m_ADesc.ContainerDuration ) + m_ADesc.ContainerDuration = I->ADesc.ContainerDuration; + + m_ADesc.BlockAlign += I->ADesc.BlockAlign; + } m_ChannelCount += I->ADesc.ChannelCount; } |
