X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2FAS_DCP_MXF.cpp;h=192965d78416c8f4d905a4cb8328bf8589594429;hb=6159b54a6ea46408a71c74b7c0a999c9ff5449e5;hp=9525cff2b1efd70c45753cfdf0aafd18a0b905d7;hpb=3a3aa48a5a4f7324a9e4c2273d0747d7f58a2813;p=asdcplib.git diff --git a/src/AS_DCP_MXF.cpp b/src/AS_DCP_MXF.cpp index 9525cff..192965d 100755 --- a/src/AS_DCP_MXF.cpp +++ b/src/AS_DCP_MXF.cpp @@ -148,22 +148,18 @@ ASDCP::EssenceType(const char* filename, EssenceType_t& type) { type = ESS_UNKNOWN; if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(RGBAEssenceDescriptor))) ) - type = ESS_JPEG_2000; - else { - if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(WaveAudioDescriptor))) ) - type = ESS_PCM_24b_48k; + if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(StereoscopicPictureSubDescriptor))) ) + type = ESS_JPEG_2000_S; else - { - if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(MPEG2VideoDescriptor))) ) - type = ESS_MPEG2_VES; - else - { - if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(DCTimedTextDescriptor))) ) - type = ESS_TIMED_TEXT; - } - } + type = ESS_JPEG_2000; } + else if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(WaveAudioDescriptor))) ) + type = ESS_PCM_24b_48k; + else if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(MPEG2VideoDescriptor))) ) + type = ESS_MPEG2_VES; + else if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(TimedTextDescriptor))) ) + type = ESS_TIMED_TEXT; } return result; @@ -206,14 +202,14 @@ ASDCP::RawEssenceType(const char* filename, EssenceType_t& type) if ( i > 1 && p[i] == 1 && (p[i+1] == ASDCP::MPEG2::SEQ_START || p[i+1] == ASDCP::MPEG2::PIC_START) ) type = ESS_MPEG2_VES; - else if ( TmpElement.TestString((const char*)p, FB.Size()) ) - type = ESS_TIMED_TEXT; - else if ( ASDCP_SUCCESS(WavHeader.ReadFromBuffer(p, read_count, &data_offset)) ) type = ESS_PCM_24b_48k; else if ( ASDCP_SUCCESS(AIFFHeader.ReadFromBuffer(p, read_count, &data_offset)) ) type = ESS_PCM_24b_48k; + + else if ( Kumu::StringIsXML((const char*)p, FB.Size()) ) + type = ESS_TIMED_TEXT; } } else if ( Kumu::PathIsDirectory(filename) )