Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aaf session import #805

Closed
wants to merge 0 commits into from
Closed

aaf session import #805

wants to merge 0 commits into from

Conversation

agfline
Copy link
Contributor

@agfline agfline commented Jun 13, 2023

Adds new_aaf_session.cc in session_utils. This should be considered as a POC.
Requires libaaf

@x42
Copy link
Member

x42 commented Jun 15, 2023

Thanks this looks promising.

I think we should include libAAF in Ardour source-tree (similar to libs/ptformat, libs/libltc, libs/zita-resampler, etc). This will make things significantly easier with cross-platform builds. Might even build it as static library.

I suggest to also remove all commented code, and excessive whitespace. For the latter we can also just pass it through clang-format when merging.

Meanwhile I will investigate the crash in ARDOUR::cleanup

Comment on lines 252 to 273
ARDOUR::cleanup ();
/*
==151729== Process terminating with default action of signal 11 (SIGSEGV)
==151729== Access not within mapped region at address 0x210
==151729== at 0x5E5934B: RCUWriter<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<ARDOUR::Port>, ARDOUR::PortManager::SortByPortName, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<ARDOUR::Port> > > > >::RCUWriter(RCUManager<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<ARDOUR::Port>, ARDOUR::PortManager::SortByPortName, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<ARDOUR::Port> > > > >&) (rcu.h:288)
==151729== by 0x5E4EF11: ARDOUR::PortManager::unregister_port(std::shared_ptr<ARDOUR::Port>) (port_manager.cc:675)
==151729== by 0x60BB829: ARDOUR::TransportMaster::unregister_port() (transport_master.cc:463)
==151729== by 0x60B935A: ARDOUR::TransportMaster::~TransportMaster() (transport_master.cc:89)
==151729== by 0x5CA0D6D: ARDOUR::TimecodeTransportMaster::~TimecodeTransportMaster() (transport_master.h:482)
==151729== by 0x5D7FCC2: ARDOUR::MTC_TransportMaster::~MTC_TransportMaster() (mtc_slave.cc:73)
==151729== by 0x5D7FCE9: ARDOUR::MTC_TransportMaster::~MTC_TransportMaster() (mtc_slave.cc:76)
==151729== by 0x60BF853: std::_Sp_counted_ptr<ARDOUR::MTC_TransportMaster*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:380)
==151729== by 0x1336EE: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:158)
==151729== by 0x133498: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (shared_ptr_base.h:733)
==151729== by 0x5A59217: std::__shared_ptr<ARDOUR::TransportMaster, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:1183)
==151729== by 0x5A59259: std::shared_ptr<ARDOUR::TransportMaster>::~shared_ptr() (shared_ptr.h:121)
==151729== If you believe this happened as a result of a stack
==151729== overflow in your program's main thread (unlikely but
==151729== possible), you can try to increase the size of the
==151729== main thread stack using the --main-stacksize= flag.
==151729== The main thread stack size used in this run was 8388608.
*/
// ARDOUR::cleanup ();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed as of Ardour 7.4-272 3e27df9

@agfline
Copy link
Contributor Author

agfline commented Jun 15, 2023

No problem for adding libAAF sources to Ardour source-tree.
I finaly removed the libsndfile dependency and static build is handled by CMakeLists.txt

However a few things to consider :

  • libAAF was already ported to windows using cross-compilation, but it still lacks the auto location of AAF external audio files. Compilation works fine, but the result was not tested yet.
  • libAAF was not ported to OSX yet (got to find an apple computer or try VM...)
  • I still have to make a few functionalities optional, like the processing of protools fades or the auto location of external audio files.
  • I still have to implement a versioning mechanism.

Since there is still some work to do, what's the better approach in your opinion ? Wait a little ? Make a specific branch ? Merge with master so people can test ? I'm quite new to large project contributions on github... ;)

Regarding code style, I obviously should configure tab size in my editor... But regarding commented code, are you talking about libAAF sources or new_aaf_session.cc ?

@johne53
Copy link
Contributor

johne53 commented Jun 16, 2023

No problem for adding libAAF sources to Ardour source-tree.

Do please check with Paul. He's already had a bad experience with OMF and he's stated multiple times that he doesn't want AAF in Ardour.. If Paul's still reluctant I'd suggest creating a Mixbus branch first and then merging into Master once it's proved itself. And hopefully by then, Paul might be happy to backport it?

@agfline
Copy link
Contributor Author

agfline commented Jun 16, 2023

Well... I don't know the history about Ardour and OMF, however the lack of AAF support keeps Ardour (thus the only GPL solution) away from the entire world of audiovisual post-production, broadcast and film. Plus, the way the integration is proposed here does not impact Ardour itself, since it remains as a side-program for now.

I don't know much about Mixbus. I understand it shares a large part of its sources with Ardour, however is it also open source / GPL ? Is there a repos somewhere ? Otherwise, libAAF is GPL and anyone willing to implement it is free to do so.

@pauldavisthefirst
Copy link
Contributor

I am certainly not prepared to maintain support for the actual parsing and handling of AAF, due to its monstrous design.

But I don't have any objection to a 3rd party library and then support being built around that.

My only concern is that there will likely be issues inside libaaf that show up as it gets wider use, and I don't want people involved more directly with Ardour to have to deal with them.

Otherwise, this is great!

@x42
Copy link
Member

x42 commented Jun 16, 2023

I would assume that the relationship will be similar to https://github.com/zamaudio/ptformat, where we keep issues specific to ProTools session format separate. Changes happen upstream first, and we regularly pull in stable versions of libptformat into Ardour's source tree for convenience (same for libltc etc).
Except this will be the first library that we pull into our source-tree that no ardour-dev was involved with.

Anyway, if the library works on GNU/Linux, it should be relatively straight forward to also make it run on *BSD, and macOS. If you only use POSIX API then no change is needed.

I will prepare Ardour's GUI, e.g. separate ARDOUR_UI::add_video so that adding video can use a method rather than directly modify the state via XMLNodes. If the goal is to allow importing an AAF into an existing session, rather than construct a session from AAF, we will have to make a change like as 4620d13. But I'm getting way ahead, let's first get the session util working.

@x42
Copy link
Member

x42 commented Jun 16, 2023

PS. I really hate cmake. It has the worst syntax of every build system, and does not heed any standard env variables or established parameters. meson FTW.

That being said: With the old Makefile I was able to compile libAAF on macOS. I cannot test it but on ARM (AppleSilicon) systems I'd expect unaligned pointer to cause issues. clang produced the following warnings.

LibAAF/src/AAFCore/AAFCore.c:967:19: warning: taking address of packed member 'TypeDef' of class or structure '_aafIndirect_t' may result in an unaligned pointer value [-Waddress-of-packed-member]
        if ( aafUIDCmp( &Indirect->TypeDef, &AAFTypeID_String ) == 0 )
                         ^~~~~~~~~~~~~~~~~
/Users/ardour/src/LibAAF/include/libaaf/AAFCore.h:624:4: note: expanded from macro 'aafUIDCmp'
        ( auid1 != NULL && auid2 != NULL && memcmp( auid1, auid2, sizeof(aafUID_t) ) == 0 )
          ^~~~~
LibAAF/src/AAFCore/AAFCore.c:1945:133: warning: parameter 'bo' set but not used [-Wunused-but-set-parameter]
static int retrieveProperty( AAF_Data *aafd, aafObject *Obj, aafPropertyDef *Def, aafPropertyIndexEntry_t *p, aafByte_t *v, uint8_t bo )
                                                                                                                                    ^
LibAAF/src/AAFCore/AAFCore.c:2149:38: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
        cfb_getStream( cfbd, Node, &stream, &stream_sz );
                                            ^~~~~~~~~~
LibAAF/include/libaaf/LibCFB.h:907:88: note: passing argument to parameter 'stream_sz' here
uint64_t cfb_getStream( CFB_Data*cfbd, cfbNode*node, unsigned char **stream, uint64_t *stream_sz );
                                                                                       ^
LibAAF/src/AAFCore/AAFCore.c:2182:38: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
        cfb_getStream( cfbd, Node, &stream, &stream_sz );
                                            ^~~~~~~~~~
LibAAF/include/libaaf/LibCFB.h:907:88: note: passing argument to parameter 'stream_sz' here
uint64_t cfb_getStream( CFB_Data*cfbd, cfbNode*node, unsigned char **stream, uint64_t *stream_sz );
                                                                                       ^

LibAAF/src/AAFIface/AAFIParser.c:1206:130: warning: implicit conversion from 'unsigned int' to 'int16_t' (aka 'short') changes value from 4294967295 to -1 [-Wconstant-conversion]
                aafi->Audio->samplesize = ( aafi->Audio->samplesize == 0 || (uint16_t)aafi->Audio->samplesize == *samplesize ) ? *samplesize : (unsigned)-1;
                                        ~                                                                                                      ^~~~~~~~~~~~
LibAAF/src/AAFIface/AAFIParser.c:714:19: warning: unused function 'get_FileDescriptor_ContainerFormat' [-Wunused-function]
static aafUID_t * get_FileDescriptor_ContainerFormat( AAF_Iface *aafi, aafObject *FileDescriptor )
                  ^

LibAAF/src/AAFIface/AAFIAudioFiles.c:1383:63: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
  cfb_getStream( aafi->aafd->cfbd, audioEssence->node, &data, &datasz );
                                                              ^~~~~~~
LibAAF/src/AAFIface/AAFIAudioFiles.c:1452:131: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
    _error( aafi->ctx.options.verb, "Could not write audio essence file (%"PRIu64" bytes written out of %"PRIu64" bytes) : %s\n", writtenBytes, datasz, filePath );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LibAAF/include/libaaf/debug.h:59:20: note: expanded from macro '_error'
                fprintf( stderr, __VA_ARGS__ );              \
                                 ^~~~~~~~~~~
LibAAF/src/AAFIface/AAFIAudioFiles.c:1452:145: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
    _error( aafi->ctx.options.verb, "Could not write audio essence file (%"PRIu64" bytes written out of %"PRIu64" bytes) : %s\n", writtenBytes, datasz, filePath );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
                                 ^~~~~~~~~~~
LibAAF/src/AAFCore/AAFCore.c:967:19: warning: taking address of packed member 'TypeDef' of class or structure '_aafIndirect_t' may result in an unaligned pointer value [-Waddress-of-packed-member]
        if ( aafUIDCmp( &Indirect->TypeDef, &AAFTypeID_String ) == 0 )
                         ^~~~~~~~~~~~~~~~~
LibAAF/include/libaaf/AAFCore.h:624:4: note: expanded from macro 'aafUIDCmp'
        ( auid1 != NULL && auid2 != NULL && memcmp( auid1, auid2, sizeof(aafUID_t) ) == 0 )
          ^~~~~
LibAAF/src/AAFCore/AAFCore.c:1945:133: warning: parameter 'bo' set but not used [-Wunused-but-set-parameter]
static int retrieveProperty( AAF_Data *aafd, aafObject *Obj, aafPropertyDef *Def, aafPropertyIndexEntry_t *p, aafByte_t *v, uint8_t bo )
                                                                                                                                    ^
LibAAF/src/AAFCore/AAFCore.c:2149:38: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
        cfb_getStream( cfbd, Node, &stream, &stream_sz );
                                            ^~~~~~~~~~
LibAAF/include/libaaf/LibCFB.h:907:88: note: passing argument to parameter 'stream_sz' here
uint64_t cfb_getStream( CFB_Data*cfbd, cfbNode*node, unsigned char **stream, uint64_t *stream_sz );
                                                                                       ^
LibAAF/src/AAFCore/AAFCore.c:2182:38: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
        cfb_getStream( cfbd, Node, &stream, &stream_sz );
                                            ^~~~~~~~~~
LibAAF/include/libaaf/LibCFB.h:907:88: note: passing argument to parameter 'stream_sz' here
uint64_t cfb_getStream( CFB_Data*cfbd, cfbNode*node, unsigned char **stream, uint64_t *stream_sz );
                                                                                       ^
LibAAF/src/AAFIface/AAFIParser.c:1206:130: warning: implicit conversion from 'unsigned int' to 'int16_t' (aka 'short') changes value from 4294967295 to -1 [-Wconstant-conversion]
                aafi->Audio->samplesize = ( aafi->Audio->samplesize == 0 || (uint16_t)aafi->Audio->samplesize == *samplesize ) ? *samplesize : (unsigned)-1;
                                        ~                                                                                                      ^~~~~~~~~~~~
LibAAF/src/AAFIface/AAFIParser.c:714:19: warning: unused function 'get_FileDescriptor_ContainerFormat' [-Wunused-function]
static aafUID_t * get_FileDescriptor_ContainerFormat( AAF_Iface *aafi, aafObject *FileDescriptor )
                  ^
LibAAF/src/AAFIface/AAFIAudioFiles.c:1383:63: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Wincompatible-pointer-types]
  cfb_getStream( aafi->aafd->cfbd, audioEssence->node, &data, &datasz );
                                                              ^~~~~~~
LibAAF/include/libaaf/LibCFB.h:907:88: note: passing argument to parameter 'stream_sz' here
uint64_t cfb_getStream( CFB_Data*cfbd, cfbNode*node, unsigned char **stream, uint64_t *stream_sz );
                                                                                       ^
LibAAF/src/AAFIface/AAFIAudioFiles.c:1452:131: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
    _error( aafi->ctx.options.verb, "Could not write audio essence file (%"PRIu64" bytes written out of %"PRIu64" bytes) : %s\n", writtenBytes, datasz, filePath );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LibAAF/include/libaaf/debug.h:59:20: note: expanded from macro '_error'
                fprintf( stderr, __VA_ARGS__ );              \
                                 ^~~~~~~~~~~
LibAAF/src/AAFIface/AAFIAudioFiles.c:1452:145: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
    _error( aafi->ctx.options.verb, "Could not write audio essence file (%"PRIu64" bytes written out of %"PRIu64" bytes) : %s\n", writtenBytes, datasz, filePath );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/Users/ardour/src/LibAAF/include/libaaf/debug.h:59:20: note: expanded from macro '_error'
                fprintf( stderr, __VA_ARGS__ );              \
                                 ^~~~~~~~~~~

(this is for agfline/LibAAF@bc4d094)

@agfline
Copy link
Contributor Author

agfline commented Jun 16, 2023

Thank you for your encouraging feedback, I think we're on the right path.

we keep issues specific to ProTools session format separate

Of course I will handle all libAAF related issues. I won't inflict to learn the AAF specs on anyone.

I really hate cmake. It has the worst syntax of every build system

I switched to cmake recently, mostly because the Makefiles had become way too messy in the project and a pain to maintain. I chose cmake because it automates a lot of tasks inside a compact script, it's also very popular and documented. For now it fits my needs and the size of the project, but maybe I could change for something else in the future.

With the old Makefile I was able to compile libAAF on macOS

Does it still compile with cmake or do you have an issue ?

on ARM (AppleSilicon) systems I'd expect unaligned pointer to cause issues

Those warnings are related to some low level FAT structures that require the __packed__ attribute to be read from the file. I really don't know how to handle those warnings, except rewriting a portion of libCFB, so it could read those packed structures, then it would set a second structure identical to the first one but without the __packed__ attribute... That solution seems heavy and it could reduce performance. Or maybe you have another idea ? Are you sure that it wont work ? Otherwise I think we should first give it a try on Apple silicon. Here is an interesting talk about the --Waddress-of-packed-member : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93910

I will fix the rest of the warnings, thanks.

@prokoudine
Copy link
Contributor

This entire adventure makes me curious if writing a library for dealing with AAF is the best way to go.

Ardour teams has had OpenTimelineIO on the radar for a few years now, and OTIO supports AAF to an extent:

https://opentimelineio.readthedocs.io/en/stable/tutorials/feature-matrix.html

Thoughts?

@johne53
Copy link
Contributor

johne53 commented Jun 17, 2023

Those warnings are related to some low level FAT structures that require the __packed__ attribute to be read from the file. I really don't know how to handle those warnings

@adrien - as someone who comes from an MSVC environment I'm not familiar with the attribute keyword but could this be a simple typo maybe? I've noticed that in some places it's written like this:-

} __attribute__((__packed__));

whereas in other places it's like this:-

} __attribute__((packed));

Or are both versions valid?

@agfline
Copy link
Contributor Author

agfline commented Jun 17, 2023

I've been looking for some official CFB microsoft code. Well, they don't pack their CFB structures.
So I just did some test and yes, it seems to work fine without the __packed__ attribute (at least on x86). From my recollection I had issues in 2017 which is why I set this attribute, but anyway. Let's remove it then.

@x42
Copy link
Member

x42 commented Jun 17, 2023

Looking at the source-code, this specific issue is fine.

There is an 8 bit offset, and the pointer to Indirect->TypeDef is not 32bit aligned. Yet, the pointer is passed to memcmp which, according to memcmp(3) compares the first n bytes (each interpreted as unsigned char).

And from ISO/IEC 9899:2017, Section 6.3.2.3

  1. A pointer to an object type may be converted to a pointer to a different object type. If the resulting pointer is not correctly aligned) for the referenced type, the behavior is undefined. Otherwise, when converted back again, the result shall compare equal to the original pointer. When a pointer to an object is converted to a pointer to a character type, the result points to the lowest addressed byte of the object.
    (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93910#c11 - emphasis mine)

Since memcmp uses unsigned chars, this specific case will work, but since memcmp is declared as int memcmp (const void *s1, const void *s2, size_t n) the compiler cannot know.

@agfline
Copy link
Contributor Author

agfline commented Jun 17, 2023

Thank you for your help Robin.
I already did a dirty fix : Since the member responsible of the unalignment is the useless aafIndirect_t->unknownByte, I removed it and padded the mapping of the structure by +1 byte to compensate.
However regarding what you're pointing out, maybe a cast to void or unsigned char while calling memcmp could get rid of the warning ? Or is your compiler smart enough ?

@johne53
Copy link
Contributor

johne53 commented Jun 17, 2023

In case it's useful, some background might help.... back in the early days, Ardour made extensive use of a 3rd party library called Jack which had similar issues with array sizes. IIRC it was mostly needed when a client and server could be from different compilers. Let's say that a given struct had 2 x elements. The first element was 12 bytes long and the second element, 4 bytes long. With the default compiler packing (usually 8-bytes) gcc made each element start on an 8-byte boundary. So there'd be the 1st element - then 4 x empty bytes - then the 2nd element, giving a total size of 20 bytes (i.e. each element starting on an 8-byte boundary). But MSVC used a different interpretation. It only added empty space if it couldn't fit the 2nd element within the remainder of 8-bytes. So MSVC used 12 bytes for the 1st element but then realised it had 4 x unused bytes, so it allocated them to the 2nd element - giving a different total structure size of 16 bytes. The only packing they both agreed on was 1-byte packing but of course, each compiler implemented it differently :-(

In the end. we solved it by introducing the concept or PRE_PACKED_STRUCTURE and POST_PACKED STRUCTURE. If you download the Jack source code ([https://jackaudio.org/downloads) you'll find a header file (jack/systemdeps.h) which shows you how this got implemented for the different compilers (and for ARM if you look a bit lower down...) And there's another header file (jack/types.h) with a couple of structs showing how to implement them. Thankfully, i was all a lot easier than we thought!!

@x42
Copy link
Member

x42 commented Jun 17, 2023

maybe a cast to void or unsigned char while calling memcmp could get rid of the warning ?

Good call. The warning does indeed go away with

#define aafUIDCmp(auid1, auid2) \
  ((uint8_t const*)auid1 && auid2 && 0 == memcmp ((uint8_t const*) auid1, auid2, sizeof (aafUID_t)))

It's probably prudent to also cast auid2.

agfline added a commit to agfline/LibAAF that referenced this pull request Jun 17, 2023
Restore `__attribute__((packed))` on `aafIndirect_t` and remove previous 
warning fix in 
[3acdb0f](3acdb0f).

Use a simple cast instead to remove the warning (see 
[here](Ardour/ardour#805 (comment)) 
and 
[here](Ardour/ardour#805 (comment)))
agfline added a commit to agfline/LibAAF that referenced this pull request Jun 17, 2023
@agfline
Copy link
Contributor Author

agfline commented Jun 17, 2023

Compilation should be warning-free now, but let me know if you still have some.

@johne53
Copy link
Contributor

johne53 commented Jun 19, 2023

@agfline - now that you've removed the attribute stuff I've been able to build new_aaf_session.cc here (using MSVC) and link it against libAAF.lib (albeit that you'd missed out quite a few of the attribute statements...) At the moment though, it's crashing at runtime - I think because I haven't specified a template path. And it looks like I'd need to provide some more command line arguments such as the sample rate and master channels.

Given that my aaf file is called 100_BARS.aaf, could you give me an example of the command line I'd need to use here?

@agfline
Copy link
Contributor Author

agfline commented Jun 19, 2023

Well, the problem was not coming from the packed statement itself, but from the usage of pointers against packed structures. There are still some structures that absolutely require packing (thanks to AAF standard and its unaligned structures...)
So unless you get some warnings while compiling, that should be solved.

Here is how I use new_aaf_session on Linux (note the use of ardour's session-utils run script)

./session_utils/run ardour7-new_aaf_session --session-path /my/session/path/ --aaf 100_BARS.aaf

All other parameters are optional.

@x42
Copy link
Member

x42 commented Jun 19, 2023

I guess john may be confused by the old --help text, which still refers to new-session tool.

Once installed, ardour7-new_aaf_session is in $PATH (no run wrapper script needed), and on Windows it's C:\Program Files\Ardour7\bin\ardour7-new_aaf_session.exe

This branch/pull-request has not been updated, are there more commits elsewhere? What are you testing with?

@johne53
Copy link
Contributor

johne53 commented Jun 19, 2023

I've just used a simple MSVC project here and changed its source file to be new_aaf_session.cc and all the source files here are from git - BUT - it just occurred to me that my header files now are the ones with packing removed, whereas my copy of libAAF.dll is from a couple of days ago (when packing was still applicable). So that difference is probably the reason for the crash.

Adrien - whenever you get some time, can you send me an updated version of libAAF.dll together with its corresponding link lib? Thanks.

@johne53
Copy link
Contributor

johne53 commented Jun 20, 2023

An update... if I revert those packed attributes that I'd needed to comment out and then I build here using Clang, I don't see the crash any more. However, the generated .ardour session ends up empty. Is there a small aaf file somewhere that's known to work? And if so, could someone maybe post a link here (or email a link to me) so I can give it a try?

@agfline
Copy link
Contributor Author

agfline commented Jun 21, 2023

Another update :

  • I fixed a few important things (passing directory to search for external media files, better finding of media files, passing directory to export embedded media files and thus replace the previous hard-coded /tmp/...)
  • I've started building AAF from Davinci Resolve (the only editor I got my hands on right now) to implement some test scripts. This allowed me to implement support for Resolve specific AAF (disabled clips).
  • I made all vendor specific functionalities optional (remove Protools clip fades, remove sample accurate edit clips, support for Resolve disabled clips, and all other to come)

This is a lot of work besides my regular daily job... please give me few days to finalize, I'll commit all of this and compile the windows port for you @johne53. I think it should be done this weekend.

@x42 did you face any more warnings during compilation ?

@agfline
Copy link
Contributor Author

agfline commented Jun 21, 2023

Meanwhile @johne53, just sent you a small AAF to play with.

@johne53
Copy link
Contributor

johne53 commented Jun 21, 2023

Hi Adrien, I got your new AAF file here but I'm seeing the same result as yesterday... i.e. the importer does generate a .ardour session file - and Ardour will open the session okay - but there's no audio present and no regions or timeline tracks. I've a hunch it'll just be a mismatch between your older libAAF.dll (with its packed structures) and the newer header files where they're no longer packed.

So I'll wait awhile and try again at the weekend or next week, whenever you can build a new libAAF.dll and link lib. Thanks again.

@johne53
Copy link
Contributor

johne53 commented Jun 22, 2023

@agfline
Implement changes in libaaf agfline/LibAAF@301ec26

Hi Adrien = early start here but I've hit a few more problems with your latest commits and library build. Firstly, in new_aaf_session.cc the calls to locate_external_essence_file() seem to have a parameter missing. And there are various places where you've used original_file or media_location when you probably meant original_file_path or media_location_path

But the big problem is that I need a link lib that corresponds to libaaf.dll. On Windows they come as a pair and it'd usually be called libaaf.lib. For your original DLL I needed to make a link lib locally but it was a lengthy process and I could easily have got it wrong (in fact, that might be why your importer isn't working properly here...)

I'm not 100% certain how mingw would name the link lib but it might be called libaaf.a - ask Robin if you're not sure..

There's no rush here - just fit it in whenever you can, thanks, John

@agfline
Copy link
Contributor Author

agfline commented Jun 22, 2023

Hi John,

Sorry I was surely not clear enough in my email, but there were changes in new_aaf_session.cc to match those in libaaf.

Just sent you the static lib version by email.

@johne53
Copy link
Contributor

johne53 commented Jun 22, 2023

Thanks Adrien, I'll try the new link lib when I get a chance.

But regarding new_aaf_session.cc - I understand that you needed to make changes but what I'm saying is that the changed code won't compile any more - for example here, at line 941:-

aafi->ctx.options.media_location = strdup( media_location.c_str() );

I'm guessing you probably meant:-

aafi->ctx.options.media_location = strdup( media_location_path.c_str() );

@johne53
Copy link
Contributor

johne53 commented Jun 26, 2023

@adrien - I just built here using the CMake/MSVC project and I've tested it with 2 x AAF files. For when you get some time, the crash doesn't happen any more but in both cases, the import failed on the grounds that the sample size and bit depth were both deemed to be zero. Normally I'd attach a screenshot except that the relevant text is dark grey on a black background (so not easily readable...)

@agfline
Copy link
Contributor Author

agfline commented Jun 26, 2023

Great !
Maybe you can copy / paste the log to a text file and attach it here ?

@johne53
Copy link
Contributor

johne53 commented Jun 26, 2023

Here's the output text where the error occurs (it seems as if it's looking for external audio when the audio is all internal in this AAF):-

04493AAFClassID_TimelineMobSlot [3] (DataDef : AAFDataDef_Sound)
02048 AAFClassID_Sequence
02021 AAFClassID_Filler

02987 AAFClassID_SourceClip
02992 AAFClassID_MasterMob (UsageCode: n/a) : 100 BARS
04592 AAFClassID_TimelineMobSlot
03199 AAFClassID_SourceClip
04299 AAFClassID_SourceMob (UsageCode: n/a) : Audio File
01434 AAFClassID_AIFCDescriptor

01600 AAFClassID_EssenceData : Could not retrieve Data stream node /Root Entry/Header-2/Content-3b03/EssenceData-1902{1}/.

02021 AAFClassID_Filler

__ERROR ......\src\AAFIface\AAFIAudioFiles.c:1681 in parse_audio_summary() : Could not locate external audio essence file : (null)
__ERROR ......\src\AAFIface\AAFIAudioFiles.c:1681 in parse_audio_summary() : Could not locate external audio essence file : (null)
ByteOrder : Little-Endian (0x4949)
LastModified : 2007-07-18 07:14:38.00
AAF ObjSpec Version : 1.1
ObjectModel Version : 1
Operational Pattern : AAFUID_NULL

CompanyName : Creative Post Production
ProductName : OMF Export Utility
ProductVersion : 2.0.2.4 AAFVersionBeta (4)
ProductVersionString : 2.0
ProductID : { 0x00000005 0x4190 0x7c91 { 0x00 0x80 0xfd 0x7f 0x02 0x00 0x00 0x00 } }
Date : 2007-07-18 07:14:37.00
ToolkitVersion : 1.1.0.0 AAFVersionReleased (1)
Platform : AAFSDK (Win32)
GenerationAUID : { 0xe31f4441 0x0d4d 0x421c { 0x84 0x4c 0xcd 0xf7 0xc3 0xbc 0x02 0x73 } }

Composition Name : 100_BARS
Composition Start : 0
Composition End : 0
Composition SampleRate : 0 Hz
Composition SampleSize : 0 bits

[i] F:+GTK-SOURCES\ardour_aaf_support\session_utils\new_aaf_session.cc : main() on line 978 : Using AAF file sample rate : 0 Hz
[i] F:+GTK-SOURCES\ardour_aaf_support\session_utils\new_aaf_session.cc : main() on line 986 : Using AAF file bit depth : 0 bits
[e] F:+GTK-SOURCES\ardour_aaf_support\session_utils\new_aaf_session.cc : main() on line 998 : Invalid sample size (0). Sample size must be either 16, 24 or 32.

@agfline
Copy link
Contributor Author

agfline commented Jun 26, 2023

Ok, the actual problem is here : 01600 AAFClassID_EssenceData : Could not retrieve Data stream node /Root Entry/Header-2/Content-3b03/EssenceData-1902{1}/.
For whatever reason, it cannot retrieve the essence data stream in the AAF file. Then it continues thinking the file is not embedded, but it is.

@x42
Copy link
Member

x42 commented Jun 26, 2023

PS. When configuraing Ardour with --strict there are many compiler warnings.

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/AAFCore.c:26:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/AAFCore.c:26:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
../libs/aaf/AAFCore.c:424:11: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  424 | AAF_Data *aaf_alloc()
      |           ^~~~~~~~~
../libs/aaf/AAFCore.c: In function ‘aaf_get_propertyValueWstr’:
../libs/aaf/AAFCore.c:927:32: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
  927 |   ( Prop->len % 2 ) ? Prop->val+1 : Prop->val,
      |                                ^
../libs/aaf/AAFCore.c: In function ‘parse_Header’:
../libs/aaf/AAFCore.c:1168:24: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
 1168 |   OperationalPattern = (aafUID_t*)&AUID_NULL;
      |                        ^

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIAudioFiles.c:31:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIAudioFiles.c:31:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
../libs/aaf/AAFIAudioFiles.c:83:8: warning: no previous prototype for ‘fop_get_parent_path’ [-Wmissing-prototypes]
   83 | char * fop_get_parent_path( const char *path, char **buf, size_t *bufsz, char include_trailing_sep )
      |        ^~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c: In function ‘fop_get_parent_path’:
../libs/aaf/AAFIAudioFiles.c:92:12: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
   92 |     pbuf = strdup( path );
      |            ^~~~~~
      |            strcmp
../libs/aaf/AAFIAudioFiles.c:92:10: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   92 |     pbuf = strdup( path );
      |          ^
../libs/aaf/AAFIAudioFiles.c:95:10: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   95 |     *buf = strdup( path );
      |          ^
../libs/aaf/AAFIAudioFiles.c: At top level:
../libs/aaf/AAFIAudioFiles.c:124:14: warning: no previous prototype for ‘fop_get_file’ [-Wmissing-prototypes]
  124 | const char * fop_get_file( const char *filepath )
      |              ^~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c:147:9: warning: no previous prototype for ‘fop_concat_paths2’ [-Wmissing-prototypes]
  147 | char * (fop_concat_paths2)( int argc, char **pconcat, int *pconcatsize, const char *fmt, ... )
      |         ^~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c:294:8: warning: no previous prototype for ‘locate_external_essence_file’ [-Wmissing-prototypes]
  294 | char * locate_external_essence_file( AAF_Iface *aafi, const wchar_t *original_file_path, const char *search_location )
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c: In function ‘locate_external_essence_file’:
../libs/aaf/AAFIAudioFiles.c:343:18: warning: initialization of ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  343 |     char *path = strdup( uri->path );
      |                  ^~~~~~
../libs/aaf/AAFIAudioFiles.c:386:21: warning: initialization of ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  386 |     char *aafPath = strdup( aafi->aafd->cfbd->file );
      |                     ^~~~~~
../libs/aaf/AAFIAudioFiles.c: At top level:
../libs/aaf/AAFIAudioFiles.c:1387:5: warning: no previous prototype for ‘aafi_extract_audio_essence’ [-Wmissing-prototypes]
 1387 | int aafi_extract_audio_essence( AAF_Iface *aafi, aafiAudioEssence *audioEssence, const char *outfilepath, const wchar_t *forcedFileName, int format )
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c:1599:8: warning: no previous prototype for ‘embeddedAudioDataReaderCallback’ [-Wmissing-prototypes]
 1599 | size_t embeddedAudioDataReaderCallback( unsigned char *buf, size_t offset, size_t reqLen, void *user1, void *user2 ) {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c:1623:8: warning: no previous prototype for ‘externalAudioDataReaderCallback’ [-Wmissing-prototypes]
 1623 | size_t externalAudioDataReaderCallback( unsigned char *buf, size_t offset, size_t reqLen, void *user1, void *user2 ) {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIAudioFiles.c:1634:5: warning: no previous prototype for ‘parse_audio_summary’ [-Wmissing-prototypes]
 1634 | int parse_audio_summary( AAF_Iface *aafi, aafiAudioEssence *audioEssence )
      |     ^~~~~~~~~~~~~~~~~~~

[ 565/1251] Compiling libs/aaf/AAFToText.c
In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIface.c:47:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIface.c:47:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/AAFIface.c:48:
../libs/aaf/aaf/AAFIParser.h:40:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
   40 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIface.c:47:
../libs/aaf/aaf/AAFIface.h:873:3: note: previous declaration of ‘AAF_Iface’ was here
  873 | } AAF_Iface;
      |   ^~~~~~~~~

[ 567/1251] Compiling libs/aaf/LibCFB.c
In file included from ../libs/aaf/CFBDump.c:8:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~

../libs/aaf/utils.c:12:8: warning: no previous prototype for ‘utf16toa’ [-Wmissing-prototypes]
   12 | size_t utf16toa( char *astr, uint16_t alen, uint16_t *wstr, uint16_t wlen )
      |        ^~~~~~~~
../libs/aaf/utils.c:42:11: warning: no previous prototype for ‘atowchar’ [-Wmissing-prototypes]
   42 | wchar_t * atowchar( const char *astr, uint16_t alen )
      |           ^~~~~~~~
../libs/aaf/utils.c:60:7: warning: no previous prototype for ‘remove_file_ext’ [-Wmissing-prototypes]
   60 | char *remove_file_ext (char* myStr, char extSep, char pathSep)
      |       ^~~~~~~~~~~~~~~
../libs/aaf/utils.c:100:11: warning: no previous prototype for ‘w16tow32’ [-Wmissing-prototypes]
  100 | wchar_t * w16tow32( wchar_t *w32buf, uint16_t *w16buf, size_t w16len )
      |           ^~~~~~~~
../libs/aaf/utils.c:165:11: warning: no previous prototype for ‘eascii_to_ascii’ [-Wmissing-prototypes]
  165 | wchar_t * eascii_to_ascii( wchar_t *str )
      |           ^~~~~~~~~~~~~~~
../libs/aaf/utils.c:184:6: warning: no previous prototype for ‘dump_hex’ [-Wmissing-prototypes]
  184 | void dump_hex( const unsigned char * stream, size_t stream_sz )
      |      ^~~~~~~~
../libs/aaf/utils.c: In function ‘dump_hex’:
../libs/aaf/utils.c:219:74: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
  219 |    linepos += snprintf( &hex[linepos], sizeof(hex)-(linepos), "%02x%s", *(unsigned char*)(stream+count+i), (i==7) ? "  " : " " );
      |                                                                          ^
../libs/aaf/utils.c:223:69: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
  223 |                 if ( isalnum( *(stream+count+i) ) )     ascii[i] = *(unsigned char*)(stream+count+i);
      |                                                                     ^
../libs/aaf/utils.c:228:71: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
  228 |                 if ( isalnum( *(stream+count+i) ) )     ascii[i+1] = *(unsigned char*)(stream+count+i);
      |                                                                       ^
../libs/aaf/utils.c:236:35: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
  236 |                     ascii[i+1] = *(unsigned char*)(stream+count+i);
      |                                   ^
../libs/aaf/utils.c: At top level:
../libs/aaf/utils.c:272:8: warning: no previous prototype for ‘url_decode’ [-Wmissing-prototypes]
  272 | char * url_decode( char *dst, char *src )
      |        ^~~~~~~~~~
../libs/aaf/utils.c:314:11: warning: no previous prototype for ‘wurl_decode’ [-Wmissing-prototypes]
  314 | wchar_t * wurl_decode( wchar_t *dst, wchar_t *src )
      |           ^~~~~~~~~~~

[ 569/1251] Compiling libs/aaf/ProTools.c
In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFClass.h:36,
                 from ../libs/aaf/AAFClass.c:34:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFClass.h:36,
                 from ../libs/aaf/AAFClass.c:34:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFToText.h:4,
                 from ../libs/aaf/AAFDump.c:5:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFToText.h:4,
                 from ../libs/aaf/AAFDump.c:5:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
../libs/aaf/AAFDump.c:15:6: warning: no previous prototype for ‘aaf_dump_Header’ [-Wmissing-prototypes]
   15 | void aaf_dump_Header( AAF_Data *aafd )
      |      ^~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:30:6: warning: no previous prototype for ‘aaf_dump_Identification’ [-Wmissing-prototypes]
   30 | void aaf_dump_Identification( AAF_Data *aafd )
      |      ^~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:48:6: warning: no previous prototype for ‘aaf_dump_ObjectProperty’ [-Wmissing-prototypes]
   48 | void aaf_dump_ObjectProperty( AAF_Data *aafd, aafProperty *Prop )
      |      ^~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:57:6: warning: no previous prototype for ‘aaf_dump_ObjectProperties’ [-Wmissing-prototypes]
   57 | void aaf_dump_ObjectProperties( AAF_Data *aafd, aafObject *Obj )
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:77:6: warning: no previous prototype for ‘aaf_dump_rawProperties’ [-Wmissing-prototypes]
   77 | void aaf_dump_rawProperties( AAF_Data *aafd, aafPropertyIndexHeader_t *PropHeader )
      |      ^~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:143:6: warning: no previous prototype for ‘aaf_dump_nodeStreamProperties’ [-Wmissing-prototypes]
  143 | void aaf_dump_nodeStreamProperties( AAF_Data *aafd, cfbNode *node )
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:208:6: warning: no previous prototype for ‘aaf_dump_MetaDictionary’ [-Wmissing-prototypes]
  208 | void aaf_dump_MetaDictionary( AAF_Data *aafd )
      |      ^~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFDump.c:261:6: warning: no previous prototype for ‘aaf_dump_Classes’ [-Wmissing-prototypes]
  261 | void aaf_dump_Classes( AAF_Data *aafd )
      |      ^~~~~~~~~~~~~~~~

In file included from ../libs/aaf/LibCFB.c:106:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
../libs/aaf/LibCFB.c:192:12: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  192 | CFB_Data * cfb_alloc()
      |            ^~~~~~~~~

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFIParser.h:37,
                 from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFIParser.h:37,
                 from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/AAFIParser.h:40:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
   40 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/aaf/AAFIParser.h:38,
                 from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/AAFIface.h:873:3: note: previous declaration of ‘AAF_Iface’ was here
  873 | } AAF_Iface;
      |   ^~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:11,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/AAFIAudioFiles.h:8:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    8 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/AAFIParser.h:40:26: note: previous declaration of ‘AAF_Iface’ was here
   40 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:11,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/AAFIAudioFiles.h:9:33: warning: redefinition of typedef ‘aafiAudioEssence’ [-Wpedantic]
    9 | typedef struct aafiAudioEssence aafiAudioEssence;
      |                                 ^~~~~~~~~~~~~~~~
In file included from ../libs/aaf/aaf/AAFIParser.h:38,
                 from ../libs/aaf/Resolve.c:4:
../libs/aaf/aaf/AAFIface.h:333:3: note: previous declaration of ‘aafiAudioEssence’ was here
  333 | } aafiAudioEssence;
      |   ^~~~~~~~~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:15,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/ProTools.h:4:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:11,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/AAFIAudioFiles.h:8:26: note: previous declaration of ‘AAF_Iface’ was here
    8 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:16,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/Resolve.h:4:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/aaf/libaaf.h:15,
                 from ../libs/aaf/Resolve.c:7:
../libs/aaf/aaf/ProTools.h:4:26: note: previous declaration of ‘AAF_Iface’ was here
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/Resolve.c:4:
../libs/aaf/Resolve.c: In function ‘resolve_parse_aafObject_Selector’:
../libs/aaf/Resolve.c:65:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   65 |   DUMP_OBJ_ERROR( aafi, Selector, &__td, "Missing PID_Selector_Selected" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c:73:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   73 |   DUMP_OBJ_WARNING( aafi, Selector, &__td, "Missing PID_Selector_Alternates" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c:83:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   83 |   DUMP_OBJ_ERROR( aafi, Selector, &__td, "Missing AAFClassID_Selector::ComponentAttributeList" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/Resolve.c:88:3: note: in expansion of macro ‘DUMP_OBJ’
   88 |   DUMP_OBJ( aafi, Selector, &__td );
      |   ^~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c:108:53: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  108 |    DUMP_OBJ_ERROR( aafi, ComponentAttribute, &__td, "Missing PID_TaggedValue_Name" );
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c:117:53: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  117 |    DUMP_OBJ_ERROR( aafi, ComponentAttribute, &__td, "Missing PID_TaggedValue_Value" );
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c:139:53: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  139 |             DUMP_OBJ_ERROR( aafi, Alternate, &__td, "Multiple Alternates in Davinci Resolve selector" );
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/Resolve.c: In function ‘resolve_parse_aafObject_DescriptiveMarker’:
../libs/aaf/Resolve.c:173:53: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  173 |     DUMP_OBJ_ERROR( aafi, DescriptiveMarker, &__td, "Missing PID_Event_Position" );
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/Resolve.c:214:3: note: in expansion of macro ‘DUMP_OBJ’
  214 |   DUMP_OBJ( aafi, DescriptiveMarker, &__td );
      |   ^~~~~~~~
../libs/aaf/aaf/AAFIParser.h:82:102: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... );
      |                                                                                                ~~~~~~^~~

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFToText.h:4,
                 from ../libs/aaf/AAFToText.c:4:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFToText.h:4,
                 from ../libs/aaf/AAFToText.c:4:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/ProTools.c:3:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/ProTools.c:3:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/ProTools.c:4:
../libs/aaf/aaf/ProTools.h:4:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/ProTools.c:3:
../libs/aaf/aaf/AAFIface.h:873:3: note: previous declaration of ‘AAF_Iface’ was here
  873 | } AAF_Iface;
      |   ^~~~~~~~~

In file included from ../libs/aaf/aaf/AAFCore.h:90,
                 from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIParser.c:47:
../libs/aaf/aaf/LibCFB.h:191:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  191 |  CFB_MAX_REG_SECT = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:198:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  198 |  CFB_DIFAT_SECT   = 0xfffffffc,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:205:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  205 |  CFB_FAT_SECT     = 0xfffffffd,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:212:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  212 |  CFB_END_OF_CHAIN = 0xfffffffe,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:219:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  219 |  CFB_FREE_SECT    = 0xffffffff,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:226:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  226 |  CFB_MAX_REG_SID  = 0xfffffffa,
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:233:21: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
  233 |  CFB_NO_STREAM    = 0xffffffff
      |                     ^~~~~~~~~~
../libs/aaf/aaf/LibCFB.h:879:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  879 | CFB_Data * cfb_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/aaf/AAFIface.h:38,
                 from ../libs/aaf/AAFIParser.c:47:
../libs/aaf/aaf/AAFCore.h:707:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  707 | AAF_Data * aaf_alloc();
      | ^~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:40:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
   40 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:47:
../libs/aaf/aaf/AAFIface.h:873:3: note: previous declaration of ‘AAF_Iface’ was here
  873 | } AAF_Iface;
      |   ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:49:
../libs/aaf/aaf/AAFIAudioFiles.h:8:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    8 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:40:26: note: previous declaration of ‘AAF_Iface’ was here
   40 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:49:
../libs/aaf/aaf/AAFIAudioFiles.h:9:33: warning: redefinition of typedef ‘aafiAudioEssence’ [-Wpedantic]
    9 | typedef struct aafiAudioEssence aafiAudioEssence;
      |                                 ^~~~~~~~~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:47:
../libs/aaf/aaf/AAFIface.h:333:3: note: previous declaration of ‘aafiAudioEssence’ was here
  333 | } aafiAudioEssence;
      |   ^~~~~~~~~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:54:
../libs/aaf/aaf/ProTools.h:4:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:49:
../libs/aaf/aaf/AAFIAudioFiles.h:8:26: note: previous declaration of ‘AAF_Iface’ was here
    8 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:55:
../libs/aaf/aaf/Resolve.h:4:26: warning: redefinition of typedef ‘AAF_Iface’ [-Wpedantic]
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
In file included from ../libs/aaf/AAFIParser.c:54:
../libs/aaf/aaf/ProTools.h:4:26: note: previous declaration of ‘AAF_Iface’ was here
    4 | typedef struct AAF_Iface AAF_Iface;
      |                          ^~~~~~~~~
../libs/aaf/AAFIParser.c:206:6: warning: no previous prototype for ‘xplore_StrongObjectReferenceVector’ [-Wmissing-prototypes]
  206 | void xplore_StrongObjectReferenceVector( AAF_Iface *aafi, aafObject *ObjCollection, td *__ptd )
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c: In function ‘_DUMP_OBJ’:
../libs/aaf/AAFIParser.c:475:39: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  475 |   _DUMP_OBJ( aafi, NULL, __td, 0, -1, "" );
      |                                       ^~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
../libs/aaf/AAFIParser.c: In function ‘_DUMP_OBJ_NO_SUPPORT’:
../libs/aaf/AAFIParser.c:488:55: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  488 |   _DUMP_OBJ( aafi, Obj, __td, TD_NOT_SUPPORTED, line, "" );
      |                                                       ^~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
../libs/aaf/AAFIParser.c:505:54: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  505 |  _DUMP_OBJ( aafi, Obj, __td, TD_NOT_SUPPORTED, line, "" );
      |                                                      ^~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_DigitalImageDescriptor’:
../libs/aaf/AAFIParser.c:1132:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1132 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "aafi->ctx.current_video_essence not set" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1141:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1141 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_FileDescriptor_SampleRate" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1153:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1153 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_DigitalImageDescriptor_StoredHeight" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1165:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1165 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_DigitalImageDescriptor_StoredWidth" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1177:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1177 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_DigitalImageDescriptor_DisplayHeight" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1189:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1189 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_DigitalImageDescriptor_DisplayWidth" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1201:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1201 |   DUMP_OBJ_ERROR( aafi, DIDescriptor, &__td, "Missing PID_DigitalImageDescriptor_ImageAspectRatio" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_CDCIDescriptor’:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1232:3: note: in expansion of macro ‘DUMP_OBJ’
 1232 |   DUMP_OBJ( aafi, CDCIDescriptor, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_PCMDescriptor’:
../libs/aaf/AAFIParser.c:1256:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1256 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "aafi->ctx.current_essence not set" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1270:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1270 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "Missing PID_FileDescriptor_Length" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1282:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1282 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "Missing PID_SoundDescriptor_Channels" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1294:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1294 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "Missing PID_FileDescriptor_SampleRate" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1312:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1312 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "Missing PID_SoundDescriptor_QuantizationBits" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1318:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1318 |   DUMP_OBJ_ERROR( aafi, PCMDescriptor, &__td, "PID_SoundDescriptor_QuantizationBits value error : %u", *samplesize );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1333:2: note: in expansion of macro ‘DUMP_OBJ’
 1333 |  DUMP_OBJ( aafi, PCMDescriptor, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_WAVEDescriptor’:
../libs/aaf/AAFIParser.c:1357:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1357 |   DUMP_OBJ_ERROR( aafi, WAVEDescriptor, &__td, "aafi->ctx.current_essence not set" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1370:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1370 |   DUMP_OBJ_ERROR( aafi, WAVEDescriptor, &__td, "Missing PID_WAVEDescriptor_Summary" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1384:2: note: in expansion of macro ‘DUMP_OBJ’
 1384 |  DUMP_OBJ( aafi, WAVEDescriptor, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_AIFCDescriptor’:
../libs/aaf/AAFIParser.c:1408:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1408 |   DUMP_OBJ_ERROR( aafi, AIFCDescriptor, &__td, "aafi->ctx.current_essence not set" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1421:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1421 |   DUMP_OBJ_ERROR( aafi, AIFCDescriptor, &__td, "Missing PID_AIFCDescriptor_Summary" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1434:2: note: in expansion of macro ‘DUMP_OBJ’
 1434 |  DUMP_OBJ( aafi, AIFCDescriptor, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_NetworkLocator’:
../libs/aaf/AAFIParser.c:1518:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1518 |   DUMP_OBJ_ERROR( aafi, NetworkLocator, &__td, "Missing PID_NetworkLocator_URLString" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1535:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1535 |   DUMP_OBJ_ERROR( aafi, NetworkLocator, &__td, "aafi->ctx.current_essence AND aafi->ctx.current_video_essence not set" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1539:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1539 |  DUMP_OBJ_INFO( aafi, NetworkLocator, &__td, ": %ls", original_file_path );
      |                                              ^~~~~~~
../libs/aaf/aaf/AAFIParser.h:72:47: note: in definition of macro ‘DUMP_OBJ_INFO’
   72 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, __VA_ARGS__ );
      |                                               ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_EssenceData’:
../libs/aaf/AAFIParser.c:1565:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1565 |   DUMP_OBJ_ERROR( aafi, EssenceData, &__td, "aafi->ctx.current_essence not set" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1579:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1579 |   DUMP_OBJ_ERROR( aafi, EssenceData, &__td, "Missing PID_EssenceData_Data" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1600:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1600 |   DUMP_OBJ_ERROR( aafi, EssenceData, &__td, "Could not retrieve Data stream node %ls", DataPath );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Transition’:
../libs/aaf/AAFIParser.c:1705:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1705 |   DUMP_OBJ_ERROR( aafi, Transition, &__td, "Could not retrieve DataDefinition" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1712:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1712 |   DUMP_OBJ_ERROR( aafi, Transition, &__td, "Current implementation only supports Transition inside Audio Tracks" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1722:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1722 |   DUMP_OBJ_ERROR( aafi, Transition, &__td, "Missing PID_Component_Length" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1744:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1744 |   DUMP_OBJ_ERROR( aafi, Transition, &__td, "Could not guess if type is FadeIn, FadeOut or xFade" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1782:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1782 |    DUMP_OBJ_WARNING( aafi, Transition, &__td, "Missing PID_Transition_CutPoint : Setting to Trans->len/2" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1784:4: note: in expansion of macro ‘DUMP_OBJ’
 1784 |    DUMP_OBJ( aafi, Transition, &__td );
      |    ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1803:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1803 |    DUMP_OBJ_WARNING( aafi, Transition, &__td, "Missing PID_Transition_CutPoint AND PID_Transition_OperationGroup : Setting to Trans->len/2; Linear" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1805:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1805 |    DUMP_OBJ_WARNING( aafi, Transition, &__td, "Missing PID_Transition_OperationGroup : Setting to Linear interpolation" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_NestedScope’:
../libs/aaf/AAFIParser.c:1857:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1857 |   DUMP_OBJ_ERROR( aafi, NestedScope, &__td, "Missing PID_NestedScope_Slots" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:1862:2: note: in expansion of macro ‘DUMP_OBJ’
 1862 |  DUMP_OBJ( aafi, NestedScope, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Filler’:
../libs/aaf/AAFIParser.c:1971:40: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1971 |   DUMP_OBJ_ERROR( aafi, Filler, &__td, "Could not retrieve DataDefinition" );
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:1997:41: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1997 |    DUMP_OBJ_ERROR( aafi, Filler, &__td, "Missing PID_Component_Length" );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2021:2: note: in expansion of macro ‘DUMP_OBJ’
 2021 |  DUMP_OBJ( aafi, Filler, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Sequence’:
../libs/aaf/AAFIParser.c:2043:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2043 |   DUMP_OBJ_ERROR( aafi, Sequence, &__td, "Missing PID_Sequence_Components" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2048:2: note: in expansion of macro ‘DUMP_OBJ’
 2048 |  DUMP_OBJ( aafi, Sequence, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Timecode’:
../libs/aaf/AAFIParser.c:2080:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2080 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "Missing PID_Timecode_Start" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2089:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2089 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "Missing PID_Timecode_FPS" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2098:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2098 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "Missing PID_Timecode_Drop" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2109:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2109 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "Could not retrieve parent MobSlot" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2117:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2117 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "Missing parent MobSlot PID_TimelineMobSlot_EditRate" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2128:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2128 |   DUMP_OBJ_ERROR( aafi, Timecode, &__td, "calloc() : %s", strerror( errno ) );
      |                                          ^~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2141:2: note: in expansion of macro ‘DUMP_OBJ’
 2141 |  DUMP_OBJ( aafi, Timecode, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_OperationGroup’:
../libs/aaf/AAFIParser.c:2168:41: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2168 |   DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Could not retrieve parent Mob" );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2174:41: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2174 |   DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "OperationGroup parser is currently implemented for AAFClassID_CompositionMob children only" );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2267:5: note: in expansion of macro ‘DUMP_OBJ’
 2267 |     DUMP_OBJ( aafi, OpGroup, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2290:5: note: in expansion of macro ‘DUMP_OBJ’
 2290 |     DUMP_OBJ( aafi, OpGroup, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2362:3: note: in expansion of macro ‘DUMP_OBJ’
 2362 |   DUMP_OBJ( aafi, OpGroup, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2401:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2401 |    DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Unknown track format (%u)", aafi->ctx.current_multichannel_track_channel );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2433:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2433 |    DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Missing PID_OperationGroup_Parameters" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2451:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2451 |    DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Missing Parameter ParameterDef_Amplitude" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2455:3: note: in expansion of macro ‘DUMP_OBJ’
 2455 |   DUMP_OBJ( aafi, OpGroup, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2488:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2488 |    DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Missing PID_OperationGroup_Parameters" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2506:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2506 |    DUMP_OBJ_ERROR( aafi, OpGroup, &__td, "Missing Parameter ParameterDef_Amplitude" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2511:4: note: in expansion of macro ‘DUMP_OBJ’
 2511 |    DUMP_OBJ( aafi, OpGroup, &__td );
      |    ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_SourceClip’:
../libs/aaf/AAFIParser.c:2614:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2614 |   DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve DataDefinition" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2623:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2623 |   DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve parent Mob" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2631:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2631 |   DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing parent Mob PID_Mob_MobID" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2650:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2650 |   DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing PID_SourceReference_SourceMobSlotID" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2685:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2685 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve target Mob by ID : %ls", MobIDToText(sourceID) );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2693:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2693 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing target Mob PID_Mob_Slots" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2704:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2704 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve target MobSlot ID : %u", *SourceMobSlotID );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2725:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2725 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing PID_Component_Length" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2734:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2734 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing PID_SourceClip_StartTime" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2785:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2785 |      DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing target MobSlot" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2789:5: note: in expansion of macro ‘DUMP_OBJ’
 2789 |     DUMP_OBJ( aafi, SourceClip, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2795:5: note: in expansion of macro ‘DUMP_OBJ’
 2795 |     DUMP_OBJ( aafi, refMob, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:2983:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2983 |      DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing target MobSlot" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2987:5: note: in expansion of macro ‘DUMP_OBJ’
 2987 |     DUMP_OBJ( aafi, SourceClip, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:2992:5: note: in expansion of macro ‘DUMP_OBJ’
 2992 |     DUMP_OBJ( aafi, refMob, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3015:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3015 |     DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Current implementation supports only one video clip" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3075:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3075 |      DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Missing target MobSlot" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3080:5: note: in expansion of macro ‘DUMP_OBJ’
 3080 |     DUMP_OBJ( aafi, SourceClip, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3085:5: note: in expansion of macro ‘DUMP_OBJ’
 3085 |     DUMP_OBJ( aafi, refMob, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3116:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3116 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve parent Mob PID_Mob_MobID" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3124:45: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3124 |    DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve parent MobSlot" );
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3149:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3149 |     DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "aafi->ctx.current_clip not set" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3164:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3164 |      DUMP_OBJ_INFO( aafi, SourceClip, &__td, "Essence already parsed: Linking with %ls", audioEssence->file_name );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:72:47: note: in definition of macro ‘DUMP_OBJ_INFO’
   72 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, __VA_ARGS__ );
      |                                               ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3199:4: note: in expansion of macro ‘DUMP_OBJ’
 3199 |    DUMP_OBJ( aafi, SourceClip, &__td );
      |    ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3208:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3208 |     DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve SourceMob by ID : %ls", MobIDToText(audioEssence->sourceMobID) );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3270:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3270 |     DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "aafi->ctx.current_video_clip not set" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3322:4: note: in expansion of macro ‘DUMP_OBJ’
 3322 |    DUMP_OBJ( aafi, SourceClip, &__td );
      |    ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3330:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3330 |     DUMP_OBJ_ERROR( aafi, SourceClip, &__td, "Could not retrieve SourceMob by ID : %ls", MobIDToText(videoEssence->sourceMobID) );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Selector’:
../libs/aaf/AAFIParser.c:3512:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3512 |   DUMP_OBJ_ERROR( aafi, Selector, &__td, "Missing PID_Selector_Selected" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3525:2: note: in expansion of macro ‘DUMP_OBJ’
 3525 |  DUMP_OBJ( aafi, Selector, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_ConstantValue’:
../libs/aaf/AAFIParser.c:3590:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3590 |   DUMP_OBJ_ERROR( aafi, ConstantValue, &__td, "Missing PID_Parameter_Definition" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3598:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3598 |   DUMP_OBJ_ERROR( aafi, ConstantValue, &__td, "Could not retrieve OperationIdentification" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3612:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3612 |    DUMP_OBJ_ERROR( aafi, ConstantValue, &__td, "Missing PID_ConstantValue_Value" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3656:49: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3656 |     DUMP_OBJ_ERROR( aafi, ConstantValue, &__td, "Clip gain was already set : +%05.1lf dB", 20 * log10( aafRationalToFloat( aafi->ctx.current_clip_gain->value[0] ) ) );
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3674:3: note: in expansion of macro ‘DUMP_OBJ’
 3674 |   DUMP_OBJ( aafi, ConstantValue, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3691:49: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3691 |     DUMP_OBJ_ERROR( aafi, ConstantValue, &__td, "Missing PID_ConstantValue_Value" );
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3709:3: note: in expansion of macro ‘DUMP_OBJ’
 3709 |   DUMP_OBJ( aafi, ConstantValue, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_VaryingValue’:
../libs/aaf/AAFIParser.c:3739:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3739 |   DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Missing PID_Parameter_Definition" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3747:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3747 |   DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Could not retrieve OperationIdentification" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3757:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3757 |   DUMP_OBJ_WARNING( aafi, VaryingValue, &__td, "Could not retrieve InterpolationIdentification: Setting to Linear" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3786:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3786 |   DUMP_OBJ_WARNING( aafi, VaryingValue, &__td, "Unknown value for InterpolationIdentification: Falling back to Linear" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:69:52: note: in definition of macro ‘DUMP_OBJ_WARNING’
   69 |  _DUMP_OBJ( aafi, Obj, __td, TD_WARNING, __LINE__, __VA_ARGS__ );
      |                                                    ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3801:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3801 |   DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Missing PID_VaryingValue_PointList" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3820:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3820 |    DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Could not retrieve ControlPoints" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3828:3: note: in expansion of macro ‘DUMP_OBJ’
 3828 |   DUMP_OBJ( aafi, VaryingValue, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3842:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3842 |    DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Could not retrieve ControlPoints" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3896:48: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3896 |     DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Track Gain was already set" );
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3902:5: note: in expansion of macro ‘DUMP_OBJ’
 3902 |     DUMP_OBJ( aafi, VaryingValue, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3910:49: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3910 |      DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Clip gain was already set" );
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3921:49: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3921 |      DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Clip automation was already set" );
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3950:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3950 |    DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Could not retrieve ControlPoints" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:3981:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 3981 |    DUMP_OBJ_ERROR( aafi, VaryingValue, &__td, "Track Pan was already set" );
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3987:4: note: in expansion of macro ‘DUMP_OBJ’
 3987 |    DUMP_OBJ( aafi, VaryingValue, &__td );
      |    ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:3992:3: note: in expansion of macro ‘DUMP_OBJ’
 3992 |   DUMP_OBJ( aafi, VaryingValue, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:71:
../libs/aaf/AAFIParser.c: In function ‘retrieve_ControlPoints’:
../libs/aaf/aaf/utils.h:4:29: warning: passing argument 3 of ‘trace_obj’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    4 | #define ANSI_COLOR_RED      "\033[38;5;124m" //"\x1b[31m"
      |                             ^~~~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c:4018:29: note: in expansion of macro ‘ANSI_COLOR_RED’
 4018 |    trace_obj( aafi, Points, ANSI_COLOR_RED );
      |                             ^~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c:541:56: note: expected ‘char *’ but argument is of type ‘const char *’
  541 | void trace_obj( AAF_Iface *aafi, aafObject *Obj, char *color )
      |                                                  ~~~~~~^~~~~
In file included from ../libs/aaf/AAFIParser.c:71:
../libs/aaf/aaf/utils.h:4:29: warning: passing argument 3 of ‘trace_obj’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    4 | #define ANSI_COLOR_RED      "\033[38;5;124m" //"\x1b[31m"
      |                             ^~~~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c:4032:29: note: in expansion of macro ‘ANSI_COLOR_RED’
 4032 |    trace_obj( aafi, Points, ANSI_COLOR_RED );
      |                             ^~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c:541:56: note: expected ‘char *’ but argument is of type ‘const char *’
  541 | void trace_obj( AAF_Iface *aafi, aafObject *Obj, char *color )
      |                                                  ~~~~~~^~~~~
In file included from ../libs/aaf/AAFIParser.c:71:
../libs/aaf/aaf/utils.h:6:29: warning: passing argument 3 of ‘trace_obj’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    6 | #define ANSI_COLOR_YELLOW   "\x1b[33m" //"\x1b[93m"
      |                             ^~~~~~~~~~
../libs/aaf/AAFIParser.c:4051:28: note: in expansion of macro ‘ANSI_COLOR_YELLOW’
 4051 |   trace_obj( aafi, Points, ANSI_COLOR_YELLOW );
      |                            ^~~~~~~~~~~~~~~~~
../libs/aaf/AAFIParser.c:541:56: note: expected ‘char *’ but argument is of type ‘const char *’
  541 | void trace_obj( AAF_Iface *aafi, aafObject *Obj, char *color )
      |                                                  ~~~~~~^~~~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_Mob’:
../libs/aaf/AAFIParser.c:4100:37: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4100 |   DUMP_OBJ_ERROR( aafi, Mob, &__td, "Missing PID_Mob_Slots" );
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4112:3: note: in expansion of macro ‘DUMP_OBJ’
 4112 |   DUMP_OBJ( aafi, Mob, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4116:3: note: in expansion of macro ‘DUMP_OBJ’
 4116 |   DUMP_OBJ( aafi, Mob, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_CompositionMob’:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4157:2: note: in expansion of macro ‘DUMP_OBJ’
 4157 |  DUMP_OBJ( aafi, CompoMob, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4177:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4177 |    DUMP_OBJ_ERROR( aafi, UserComment, &__td, "Missing PID_TaggedValue_Name" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4186:46: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4186 |    DUMP_OBJ_ERROR( aafi, UserComment, &__td, "Missing PID_TaggedValue_Value" );
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_SourceMob’:
../libs/aaf/AAFIParser.c:4249:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4249 |    DUMP_OBJ_ERROR( aafi, SourceMob, &__td, "ctx->current_essence no set" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4261:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4261 |    DUMP_OBJ_ERROR( aafi, SourceMob, &__td, "Missing PID_Mob_MobID" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4273:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4273 |    DUMP_OBJ_ERROR( aafi, SourceMob, &__td, "Missing PID_Mob_CreationTime" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4295:43: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4295 |   DUMP_OBJ_ERROR( aafi, SourceMob, &__td, "Could not retrieve EssenceDescription" );
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4299:2: note: in expansion of macro ‘DUMP_OBJ’
 4299 |  DUMP_OBJ( aafi, SourceMob, &__td );
      |  ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c: In function ‘parse_MobSlot’:
../libs/aaf/AAFIParser.c:4355:41: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4355 |   DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Missing PID_MobSlot_Segment" );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4364:41: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4364 |   DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Could not retrieve DataDefinition" );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4390:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4390 |    DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Missing PID_TimelineMobSlot_EditRate" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4493:5: note: in expansion of macro ‘DUMP_OBJ’
 4493 |     DUMP_OBJ( aafi, MobSlot, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4513:5: note: in expansion of macro ‘DUMP_OBJ’
 4513 |     DUMP_OBJ( aafi, MobSlot, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4540:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4540 |      DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Current implementation supports only one video track" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4570:5: note: in expansion of macro ‘DUMP_OBJ’
 4570 |     DUMP_OBJ( aafi, MobSlot, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4592:5: note: in expansion of macro ‘DUMP_OBJ’
 4592 |     DUMP_OBJ( aafi, MobSlot, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4622:44: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4622 |      DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Missing PID_TimelineMobSlot_Origin" );
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4629:5: note: in expansion of macro ‘DUMP_OBJ’
 4629 |     DUMP_OBJ( aafi, MobSlot, &__td );
      |     ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4633:43: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4633 |     DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "aafi->ctx.current_essence no set" );
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/AAFIParser.c:4649:42: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 4649 |    DUMP_OBJ_ERROR( aafi, MobSlot, &__td, "Missing PID_EventMobSlot_EditRate" );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/aaf/aaf/AAFIParser.h:66:50: note: in definition of macro ‘DUMP_OBJ_ERROR’
   66 |  _DUMP_OBJ( aafi, Obj, __td, TD_ERROR, __LINE__, __VA_ARGS__ );
      |                                                  ^~~~~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )
      |                                                                                                ~~~~~~^~~
In file included from ../libs/aaf/AAFIParser.c:48:
../libs/aaf/aaf/AAFIParser.h:62:47: warning: passing argument 6 of ‘_DUMP_OBJ’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   62 |  _DUMP_OBJ( aafi, Obj, __td, TD_OK, __LINE__, "" );
      |                                               ^~
../libs/aaf/AAFIParser.c:4655:3: note: in expansion of macro ‘DUMP_OBJ’
 4655 |   DUMP_OBJ( aafi, MobSlot, &__td );
      |   ^~~~~~~~
../libs/aaf/AAFIParser.c:253:102: note: expected ‘char *’ but argument is of type ‘const char *’
  253 | void _DUMP_OBJ( AAF_Iface *aafi, aafObject *Obj, struct trace_dump *__td, int state, int line, char *fmt, ... )

agfline added a commit to agfline/LibAAF that referenced this pull request Jun 26, 2023
@agfline
Copy link
Contributor Author

agfline commented Jun 26, 2023

@johne53 bug fixed
@x42 thank you, will handle those warnings

@johne53
Copy link
Contributor

johne53 commented Jun 26, 2023

@agfline - that seems to have fixed the bit depth but the sample rate is still getting detected as 0Hz :-(

[Edit...] Actually... I'm saying it's fixed the bit depth but it's showing up here as 16398 bits. Shouldn't be something like 16 or 32 ??

pauldavisthefirst pushed a commit that referenced this pull request Jun 27, 2023
@agfline
Copy link
Contributor Author

agfline commented Jun 27, 2023

I have pending commits for Ardour/aaf branch. Should I do a fork ? How do we proceed ?

@x42
Copy link
Member

x42 commented Jun 28, 2023

Should I do a fork ? How do we proceed ?

Do whatever is most convenient to you. Once the dust has settled we can do a rebase or merge.

@johne53
Copy link
Contributor

johne53 commented Jun 29, 2023

I have pending commits for Ardour/aaf branch. Should I do a fork ? How do we proceed ?

@agfline - as a starting point, maybe re-configure your personal repo (ardour_aaf_support ?) so that it synchronises with Robin's new aaf branch, rather than syncing to Ardour master. That might help me too, as i'm still unable to build here from your repo :-(

@agfline agfline closed this Jun 29, 2023
@agfline agfline force-pushed the master branch 2 times, most recently from c7ff1d1 to e756786 Compare June 29, 2023 21:14
@agfline
Copy link
Contributor Author

agfline commented Jun 29, 2023

I have synced ardour_aaf_support with Ardour, however I don't know how to make ardour_aaf_support point to Ardour's aaf branch... Any idea ?

[EDIT] It's done, sorry for the noob question...

@agfline
Copy link
Contributor Author

agfline commented Jun 29, 2023

I'll commit a bunch of updates to ardour_aaf_support tomorrow.
Meanwhile, do you know if I can create a multichannel region, composed of 1 source file per channel ?

@pauldavisthefirst
Copy link
Contributor

Sure, just import a >1 channel audio file, and select "1 track per file"

Or create a track with >1 input, and record something.

@agfline
Copy link
Contributor Author

agfline commented Jun 30, 2023

Thank you Paul,
But I meant using Ardour code ;) Say I got an AAF file, which splits a multi-channel audio clip across 1 file per channel. How do I import all those files as a single multi-channel source / region ? Can I ImportStatus.paths.push_back( file ) for each channel file ?

@johne53
Copy link
Contributor

johne53 commented Jun 30, 2023

@agfline - is there some way you could hold back on this for a while?

Back when I wrote my own AAF importer (ArdourXchange) I implemented a feature whereby both channels of a stereo clip could occupy just 1 x Ardour timeline track - but there were complications to take into account. i.e. no matter how many channels a clip contains, there's no requirement (in AAF) for them all to get used somewhere. And what happens if an AAF track contains a combination of audio clips, all with different numbers of channels?

I think you're maybe getting ahead of yourself here. At the moment, your imported sessions won't even play any audio so you need to get them back to working (and being testable) again. We can sort out the more complicated features later.

Regarding git, I'm by no means an expert but if you can update from Ardour master, you've presumably set an upstream repo? So if you're currently typing something like this:-

git fetch -v "upstream" master

you'd presumably just need to change it to this:-

git fetch -v "upstream" aaf

@x42
Copy link
Member

x42 commented Jun 30, 2023

Sure, just import a >1 channel audio file, and select "1 track per file"

not quite, combining multiple mono files into a stereo region would be "Merge files". It is only available if both files have the exact same duration.

Editor::import_sndfiles (paths, Editing::ImportMergeFiles, ImportAsTrack, ...)

Can I ImportStatus.paths.push_back( file ) for each channel file ?

Yes, but that will just create the Sources, after that you need a "whole file region" using RegionFactory::create, adding all the sources to it:

/* take all the sources we have and package them up as a region */
region_name = region_name_from_path (paths.front(), (sources.size() > 1), false);
/* we checked in import_sndfiles() that there were not too many */
while (RegionFactory::region_by_name (region_name)) {
region_name = bump_name_once (region_name, '.');
}
PropertyList plist;
plist.add (ARDOUR::Properties::start, timecnt_t (sources[0]->type() == DataType::AUDIO ? Temporal::AudioTime : Temporal::BeatTime));
plist.add (ARDOUR::Properties::length, sources[0]->length ());
plist.add (ARDOUR::Properties::name, region_name);
plist.add (ARDOUR::Properties::layer, 0);
plist.add (ARDOUR::Properties::whole_file, true);
plist.add (ARDOUR::Properties::external, true);
plist.add (ARDOUR::Properties::opaque, true);
std::shared_ptr<Region> r = RegionFactory::create (sources, plist);

@agfline
Copy link
Contributor Author

agfline commented Jun 30, 2023

after that you need a "whole file region" using RegionFactory::create

Thank you Robin I'll try this.

Regarding my fork of Ardour, It seems I'm stuck with the master branch. I think I did the fork of Ardour with "Copy the master branch only" ticked and now, I can't find a way to switch to the aaf branch locally (without being "detached" or something...)

So I think I'm going to remove ardour_aaf_support repos, so I can do another clean fork of Ardour without "Copy the master branch only" ticked. What do you think, will this action remove the current conversation ?

Sorry to bug you with this, but it's driving me crazy... !

@johne53
Copy link
Contributor

johne53 commented Jul 1, 2023

Apparently git remote offers something called set-branches so that you can switch to tracking some other branch. I often need to push things to origin but in my case (except for adding and removing upstream repos) I've never needed to make changes to them - so it's not something I've ever used but it's documented here:-

https://git-scm.com/docs/git-remote

@johne53
Copy link
Contributor

johne53 commented Jul 2, 2023

Sorry to keep adding to a closed thread but I'm not quite sure where to start a new one!! Anyway... a couple of weeks ago I made a git clone from the ardour_aaf_support repo and here's a screenshot of how the master branch looked at that time (notice the 4 x most recent entries are all from agfline):-

Capture-09

Since then... each time I do another 'fetch' here, git rebase keeps placing those same entries at the top of the list - which suggests that they no longer exist in the official repo:-

Capture-10

Does this make sense to anyone? It's what I see while working from 'master' - but the last I heard, 'aaf' wasn't syncing yet with upstream Ardour :-(

Or do I need to switch to the 'aaf' branch anyway?

@agfline
Copy link
Contributor Author

agfline commented Jul 2, 2023

Sorry, that discussion was automatically closed when I was struggling with git and the ardour_aaf_support repos...

Discussion moved here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants