diff options
| author | jhurst <jhurst@cinecert.com> | 2006-03-11 01:43:02 +0000 |
|---|---|---|
| committer | jhurst <> | 2006-03-11 01:43:02 +0000 |
| commit | 9bfe9676115531eb76649e1ebd5e14b904b53ae2 (patch) | |
| tree | df29b4a9f7d1bbb00821560ac3bca69ec7982683 /src/AS_DCP_MXF.cpp | |
| parent | e73ef2046cf4f6beb730be071022aaedb3b44bba (diff) | |
metadata reformed...
Diffstat (limited to 'src/AS_DCP_MXF.cpp')
| -rwxr-xr-x | src/AS_DCP_MXF.cpp | 79 |
1 files changed, 11 insertions, 68 deletions
diff --git a/src/AS_DCP_MXF.cpp b/src/AS_DCP_MXF.cpp index fbf37c3..5bba537 100755 --- a/src/AS_DCP_MXF.cpp +++ b/src/AS_DCP_MXF.cpp @@ -34,7 +34,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "DirScanner.h" #include "JP2K.h" #include "Wav.h" -#include "MDD.h" //------------------------------------------------------------------------------------------ @@ -127,72 +126,6 @@ ASDCP::MD_to_CryptoInfo(CryptographicContext* InfoObj, WriterInfo& Info) return RESULT_OK; } -#if 0 - - -// -// add DMS CryptographicFramework entry to source package -void -ASDCP::AddDMScrypt(PackagePtr SourcePackage, WriterInfo& Descr, const byte_t* SourceEssenceContainerLabel) -{ - assert(SourceEssenceContainerLabel); - - TrackPtr MPDMTrack = SourcePackage->AddDMTrack(); // zero parameters = static - DMSegmentPtr MPDMSegment = MPDMTrack->AddDMSegment(); - - MDObject* Crypto_DMS_Ptr = new MDObject("CryptographicFramework"); - MPDMSegment->AddChild("DMFramework")->MakeLink(*Crypto_DMS_Ptr); - - MDObject* Crypto_DMS_BasicPtr = new MDObject("CryptographicContext"); - Crypto_DMS_Ptr->AddChild("ContextSR")->MakeLink(*Crypto_DMS_BasicPtr); - - UUID ContextID(Descr.ContextID); - Crypto_DMS_BasicPtr->SetValue("ContextID", DataChunk(UUIDlen, ContextID.GetValue())); // UUID - Crypto_DMS_BasicPtr->SetValue("SourceEssenceContainer", - DataChunk(klv_key_size, SourceEssenceContainerLabel)); // Label - Crypto_DMS_BasicPtr->SetValue("CipherAlgorithm", DataChunk(klv_key_size, CipherAlgorithm_AES)); // UL Key - - Crypto_DMS_BasicPtr->SetValue("MICAlgorithm", - DataChunk(KeyLen, - (Descr.UsesHMAC ? - MICAlgorithm_HMAC_SHA1 - : MICAlgorithm_NONE))); // UL Key - - UUID CryptographicKeyID(Descr.CryptographicKeyID); - - Crypto_DMS_BasicPtr->SetValue("CryptographicKeyID", DataChunk(UUIDlen, CryptographicKeyID.GetValue())); // UUID -} - - -// -// -ASDCP::Result_t -ASDCP::FindObject(const char* filename, const char* objname, FILE* stream) -{ - ASDCP_TEST_NULL_STR(filename); - ASDCP_TEST_NULL_STR(objname); - - if ( stream == 0 ) - stream = stderr; - - ASDCP::h__Reader Reader; - Result_t result = Reader.OpenMXFRead(filename); - - if ( ASDCP_FAILURE(result) ) - return result; - - MDObject* DescObj = Reader.GetMDObjectByType(objname); - - if ( DescObj ) - { - DumpMDObject(*DescObj, " ", stream); - return RESULT_OK; - } - - return RESULT_FAIL; -} -#endif - // // ASDCP::Result_t @@ -210,7 +143,7 @@ ASDCP::EssenceType(const char* filename, EssenceType_t& type) if ( ASDCP_SUCCESS(result) ) { type = ESS_UNKNOWN; - if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(JPEG2000PictureSubDescriptor))) ) + if ( ASDCP_SUCCESS(TestHeader.GetMDObjectByType(OBJ_TYPE_ARGS(RGBAEssenceDescriptor))) ) type = ESS_JPEG_2000; else { @@ -544,12 +477,22 @@ ASDCP::KLVReader::ReadKLFromFile(ASDCP::FileReader& Reader) { m_BERLength = BER_length(m_Key + klv_key_size); + if ( m_BERLength == 0 ) + { + char intbuf[IntBufferLen]; + ASDCP::DefaultLogSink().Error("KLV format error, zero BER length not allowed at file position %s\n", + i64szx((Reader.Tell() - (fpos_t)klv_key_size), 8, intbuf)); + return RESULT_FAIL; + } + if ( m_BERLength != klv_length_size ) { + ASDCP::DefaultLogSink().Error("Found packet with BER length %lu; being less efficient...\n", m_BERLength); // TODO: recover the correct BER value // and reposition the file pointer + ASDCP::DefaultLogSink().Error("please finish me\n"); assert(0); } |
