Hi Martin, most IDEs won't let me plough on and compile if the cmake generator failed sadly Do I understand this correctly that Xcode and other IDEs cannot load the generated project? I could not quickly figure out the cause of the CMake error and since command line build and tests worked decided to move on. If the error breaks IDE it's more severe than I thought. comment out the use of the axPlugin subdirectory This is helpful, thanks.
Commit 8f8ef37 on V121_branch fixes the issue with conversion of DebugAAF_01.aaf. Alexey
Fix access violation when opening MXF files with record members of custom enum types
Fix debug build crash while opening truncated Avid MXF OP Atom files
Change size of OMSimpleProperty value back to OMUInt32
Handle failures of OMRawStorage to read and write expected data
Fix failure to save mob from existing Structured Storage AAF file after changing its mob ID.
Looks like this is a regression in 0cd5d9, "Fix serialization to Reg-XML of record values that require in-memory structure padding". Access violation during a call to externalize(). I'll take a look. Alexey
Hi Ryan, I cannot reproduce the failure. Does the following look similar to what you're doing? - $ tar -zxf ~/AAF-src-1.2.0-RC1.tar.gz $ cd ~/AAF-src-1.2.0-RC1 $ mkdir -p out/build $ cd out/build $ cmake -G "Xcode" -DPLATFORM=clang12 -DARCH=arm64 ../.. $ cmake --build . $ export LD_LIBRARY_PATH=~/AAF-src-1.2.0-RC1/out/target/clang12-arm64/Debug/RefImpl $ cp ~/AAF-src-1.2.0-RC1/test/com/ComModTestAAF/Laser.wav ~/AAF-src-1.2.0-RC1/out/target/clang12-arm64/Debug/Examples $ cd ~/AAF-src-1.2.0-RC1/out/target/clang12-arm64/Debug/Examples...
Fix typo in the release notes.
Mention Apple silicon support in the release notes.
Add Apple silicon support.
Add build instructions for macOS ARM64.
Default to using fseeko()/ftello()/off_t on Linux.
Rebuild SchemaSoft Structured Storage library for x86-64 Linux (GCC 4.8.5).
Add Visual Studio 2013 build of SchemaSoft Structured Storage library.
Thanks. Will take a look.
Hi, neither AAF exported will open in Pro Tools or Logic Is this about files created by ExportSimpleComposition or something else?
Don't know if there a compiler option to turn this off. Will commit a fix but haven't gotten to it yet. The fix is to replace '\0' with NULL in aafErr.cpp:181:57.
Do no re-use dynamic property ID already assigned in existing file when registering definition of different optional property.
Do no re-use dynamic property ID already assigned in existing file when registering definition of different optional property.
Merge branch 'avid2018' of ssh://git.code.sf.net/p/aaf/code2 into avid2018
[LEPO-8325] Do no re-use dynamic property ID already assigned in existing file when registering definition of different optional property.
Ignore non-standard PrimaryMob property definition when opening files that have one. (Fixes access violation during save when modifying existing files.)
Restore the IAAFPluginDef::SetCategoryClass() behavior to accept invalid PluginCategory values.
Change the Reg-XML baseline URI, identifier and version.
Change ImplAAFTypeDefRecord::internalSize() to always use member internal sizes to calculate the record default internal size. Fixes access violation in OMXMLStoredObject::restoreRecord() during XMLStoredFormatTest.
Provide access to string element type when restoring arrays of strings from XML. (Fixes XMLStoredFormat VariableArray test crash.)
Revert the XML element name of AVC clip-wrapped bytestream container definition back to the original baseline name. (Fixes XMLStoredFormat Example Files test crash.)
Update XMLStoredFormat example files to reflect differences in Avid AAF Toolkit dictionary and changes in v2.0 (Fixes XMLStoredFormat Example Files test failures.)
Update the test to allow for NULL-terminated string value returned by IAAFTypeDefString for zero-size string property. (Fixes failing IAAFTypeDefString zero-size property test for XML.)
movdump: fix handling of negative char values in atom types.
movdump: dump, not skip, always3 and similar fields of sound sample description.
And another change to fix handling of "negative" char values in atom types: Ensure that atom type characters are within range supported by isprint(), which accepts unsigned char or EOF. If char is signed it may fall outside the allowed range when passed as int to isprint(). Specific case is U+00A9 that triggers assertion violation in Visual Studio debug runtime. Similarly, ensure that printf() outputs a 2-character hexadecimal representation of "negative" char rather than an 8-character representation....
Updated dump of "always" fields as hex integers: sample_descriptions (0x00000001): size: 00000133 data_format: mp4a (6d 70 34 61) reserved: (size 6) 00 00 00 00 00 00 |......| data_ref_index: 0x0001 version: 2 revision: 0x0000 vendor: .... (00 00 00 00) always3: 0x0003 always16: 0x0010 alwaysMinus2: 0xfffe always0: 0x0000 always65536: 0x00010000 size_of_struct_only: 72 audio_sample_rate: 48000.00 num_audio_channels: 6 always7F000000: 0x7f000000
@philipn, Makes sense. The QuickTime format spec defines these values as integer fields: always3, always16, etc. Would it be more appropriate to dump them as separate named fields or dump_bytes is preferred?
Sound sample description v2, 'wave' and 'chan' atoms
movdump: dump 'wave' atom. Support non-printable characters in atom type, e.g. terminator atom type.
movdump: support version 2 of sound sample description.
movdump: dump 'chan' atom.
movdump: dump version 1 'sgpd' and version 0 'sbgp' atoms.
movdump: dump version 1 'sgpd' and version 0 'sbgp' atoms.
Fix AAFCreateAAFFileOnRawStorage() to accept non-NULL pFileKind for existing files.
Update ComExtension example plugin and CAAFEssenceFileContainer and CAAFEssenceRIFFWAVEContainer plugins to register and use valid PluginCategory values.
Update codec and interpolator plugins to supply valid PluginCategoryType values to IAAFPluginDef::SetCategoryClass(). (Fixes serialization of PluginCategoryType to XML.)
Update IAAFPluginDef::SetCategoryClass() implementation to reject category values that are not members of the PluginCategoryType extendible enumeration.
Add Microsoft SS reference implementation headers back to the include path, required with OM_USE_SCHEMASOFT_SS and OM_USE_GSF_SS on non-Windows platforms.
SchemaSoft Structured Storage library update:
Restore deleted Windows binaries of the Schemasoft library.
By default use the Schemasoft Structured Storage implementation for writing and reading AAF files on Windows.
Add a workaround for IAAFComponent::GetDataDef() to enable resolution of weak reference to DataDefinition in 3rd party files with malformed metadata dictionaries.
Update CMake headergen build to generate code for registration of built-in Data and Container Definitions from AAFMetaDictionary.h.
Revert the changes to not allow Components with Length property in Static Mob Slots.
Rename kAAFPluginCategory_Codec (formerly kAAFPluginNoCategory) into kAAFPluginCategory_None to avoid the conflict with kAAFPluginCategory_Codec in AAFExtEnum.h.
Improve support for Structural Components without Length property.
Add standalone CMake build for meta/headergen.
Fix errors getting criteria segment from an EssenceGroup (fixes IAAFMasterMob::GetCriteriaSegment(), IAAFSearchSrouce::SearchSource(), etc.).
Remove from the public API unused WCHAR type definition.
Add Container Definition required by supported container formats.
Update expat's CMake file to define it as a C language project(). This solves the issue with Unix Makefiles build systems that otherwise skip the expat build step.
Remove accidental UTF-8 BOM from the top-level CMakeLists.txt.
Replace the use of Visual Studio-specific _DEBUG with standard NDEBUG to fix GCC compilation errors.
Update libjpeg's CMake file to define it as a C language project() and use "C" as the LINKER_LANGUAGE. This solves the issue with Xcode build systems that otherwise skip the libjpeg build step.
Fix typos in HOWTOBUILD.txt.
SchemaSoft Structured Storage library update:
Avid AAF SDK changes.
Remove OMF.
Bug fix: Remove invalid cast of ImplAAFEssenceGroup object to ImplAAFMasterMob in GetMinimumBoundsMethod.
Add TraverseToClip method.
Add missing Utilities/include to Release build include path.
Fix line endings.
Move Linux-specific Large File Support macro definitions from ADD_CFLAGS in cdefs-g++.mk to PLATFORM_CFLAGS in pdefs-i586Linux.mk
Remove Large File Support macro definitions since they are already defined in build/pdefs-i586Linux.mk
Add the _XOPEN_SOURCE=500 macro definition to platform specific compiler definitions as a workaround for a bug in glibc-2.1.2 which leaves fseeko and ftello undefined even if the Large File Support macros are specified.
Add new member _position to store current storage position. Implement position() and setPosition() methods to access/modify _position. Modify read(), readAt(), write, and writeAt() to use _position.
Include <iomanip.h> (fixes gcc3 compilation error).
Added UUIDLIB to the linker options section.
Change main() to return an int value (fixes gcc3 compilation error). Pass ISO macros instead of int values to exit() function.
Include <iomanip.h> (fixes gcc3 compilation error).
In the linker command line replaced -luuid with $(UUIDLIB) defined in build/pdefs-.mk file.
Remove 'extern C' declaration - the functions will not compile with a C compiler anyway. Move functions declaration inside #ifdef MODULE_TEST_COMMON_H, where they are supposed to be.
Added comparison operators for aafRational_t and aafTimeStamp_t.
Added new built-in class definitions: ImportDescriptor, PCMDescriptor, PhysicalDescriptor, SoundDescriptor.
Added aafUID_t comparison operators.
Use standard signature for the XXX_test callback.
Add $Id$ and $Name$ CVS keywords to aid identification of version and branch.
Add $Id$ and $Name$ CVS keywords to aid identification of version and branch.
Removed declaration of InitOMPropertiesForObject() - added by mistake.
Added MergeTo() method.
Added aafUID_t and aafMobID_t comparison operators.
Removed commented out Solaris-specific includes.
Do not include AAF headers as standard headers.
Fixed Copy() to attach the new mob before calling deepCopyTo().
In CreateMetaDictionary() uncommented code to set the class factory on created metadictionary.
After testing IAAFMob::Copy() delete the copied mob from the file.
Return Key by const&.
Created.
Comment out the code that resolves weak references.
In CloneExterna() check the input pointers for NULL. In AAFMobCollectingComponentVisitor::MobIDs() fixed typos.
Changed CloneExternal() to not use CloneResolver and rely on deepCopyTo() to resolve weak refs, and to use AAFComponentVisitor to collect IDs of dependent mobs. Moved the code that clones dependencies to CloneDependencies().