diff options
| author | jhurst <jhurst@cinecert.com> | 2015-05-21 00:10:39 +0000 |
|---|---|---|
| committer | jhurst <> | 2015-05-21 00:10:39 +0000 |
| commit | 282deda913e656d38df6bb04c685d1e2346cd29b (patch) | |
| tree | 3a93fb5272cf9d6fb19a6f1c2f6c1cb9876103af /src/AS_DCP_MXF.cpp | |
| parent | 887003223e52b4fb2b9ca135dcb8a23e1f133cd4 (diff) | |
compile fixes
Diffstat (limited to 'src/AS_DCP_MXF.cpp')
| -rwxr-xr-x | src/AS_DCP_MXF.cpp | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/src/AS_DCP_MXF.cpp b/src/AS_DCP_MXF.cpp index b5ad865..32225be 100755 --- a/src/AS_DCP_MXF.cpp +++ b/src/AS_DCP_MXF.cpp @@ -310,24 +310,39 @@ ASDCP::RawEssenceType(const std::string& filename, EssenceType_t& type) { type = ESS_JPEG_2000; } - else if ( ASDCP_SUCCESS(WavHeader.ReadFromBuffer(FB.RoData(), read_count, &data_offset)) ) + else if ( std::string((const char*)FB.RoData() + 8, 4) == "WAVE" ) { - switch ( WavHeader.samplespersec ) + if ( std::string((const char*)FB.RoData(), 4) == "RIFF" ) { - case 48000: type = ESS_PCM_24b_48k; break; - case 96000: type = ESS_PCM_24b_96k; break; - default: - return RESULT_FORMAT; + result = WavHeader.ReadFromBuffer(FB.RoData(), read_count, &data_offset); + + if ( ASDCP_SUCCESS(result) ) + { + switch ( WavHeader.samplespersec ) + { + case 48000: type = ESS_PCM_24b_48k; break; + case 96000: type = ESS_PCM_24b_96k; break; + default: + DefaultLogSink().Error("Unexpected sample rate: %d\n", WavHeader.samplespersec); + result = RESULT_FORMAT; + } + } } - } - else if ( ASDCP_SUCCESS(RF64Header.ReadFromBuffer(FB.RoData(), read_count, &data_offset)) ) - { - switch ( RF64Header.samplespersec ) + else { - case 48000: type = ESS_PCM_24b_48k; break; - case 96000: type = ESS_PCM_24b_96k; break; - default: - return RESULT_FORMAT; + result = RF64Header.ReadFromBuffer(FB.RoData(), read_count, &data_offset); + + if ( ASDCP_SUCCESS(result) ) + { + switch ( RF64Header.samplespersec ) + { + case 48000: type = ESS_PCM_24b_48k; break; + case 96000: type = ESS_PCM_24b_96k; break; + default: + DefaultLogSink().Error("Unexpected sample rate: %d\n", WavHeader.samplespersec); + result = RESULT_FORMAT; + } + } } } else if ( ASDCP_SUCCESS(AIFFHeader.ReadFromBuffer(FB.RoData(), read_count, &data_offset)) ) |
