/*
-Copyright (c) 2004-2007, John Hurst
+Copyright (c) 2004-2009, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
#endif
+static std::vector<int>
+version_split(const char* str)
+{
+ std::vector<int> result;
+
+ const char* pstr = str;
+ const char* r = strchr(pstr, '.');
+
+ while ( r != 0 )
+ {
+ assert(r >= pstr);
+ if ( r > pstr )
+ result.push_back(atoi(pstr));
+
+ pstr = r + 1;
+ r = strchr(pstr, '.');
+ }
+
+ if( strlen(pstr) > 0 )
+ result.push_back(atoi(pstr));
+
+ assert(result.size() == 3);
+ return result;
+}
+
//
ASDCP::h__Writer::h__Writer() :
Ident->VersionString = m_Info.ProductVersion.c_str();
Ident->ProductUID.Set(m_Info.ProductUUID);
Ident->Platform = ASDCP_PLATFORM;
- Ident->ToolkitVersion.Major = VERSION_MAJOR;
- Ident->ToolkitVersion.Minor = VERSION_APIMINOR;
- Ident->ToolkitVersion.Patch = VERSION_IMPMINOR;
+
+ std::vector<int> version = version_split(Version());
+
+ Ident->ToolkitVersion.Major = version[0];
+ Ident->ToolkitVersion.Minor = version[1];
+ Ident->ToolkitVersion.Patch = version[2];
Ident->ToolkitVersion.Build = ASDCP_BUILD_NUMBER;
Ident->ToolkitVersion.Release = VersionType::RL_RELEASE;
}
m_HeaderPart.m_Preface->PrimaryPackage = m_FilePackage->InstanceUID;
//
- // Encryption Descriptor
+ // Essence Descriptors
//
+ UL GenericContainerUL(Dict::ul(MDD_GCMulti));
+ m_HeaderPart.EssenceContainers.push_back(GenericContainerUL);
+
if ( m_Info.EncryptedEssence )
{
UL CryptEssenceUL(Dict::ul(MDD_EncryptedContainerLabel));
}
else
{
- m_HeaderPart.EssenceContainers.push_back(UL(Dict::ul(MDD_GCMulti)));
m_HeaderPart.EssenceContainers.push_back(WrappingUL);
}