summaryrefslogtreecommitdiff
path: root/src/AS_DCP_MXF.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2015-05-21 00:10:39 +0000
committerjhurst <>2015-05-21 00:10:39 +0000
commit282deda913e656d38df6bb04c685d1e2346cd29b (patch)
tree3a93fb5272cf9d6fb19a6f1c2f6c1cb9876103af /src/AS_DCP_MXF.cpp
parent887003223e52b4fb2b9ca135dcb8a23e1f133cd4 (diff)
compile fixes
Diffstat (limited to 'src/AS_DCP_MXF.cpp')
-rwxr-xr-xsrc/AS_DCP_MXF.cpp43
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)) )