reticulatedpines / magiclantern_simplified

A Git based version of Magic Lantern, for those unwilling or unable to work using Mercurial. The vast majority of branches have been removed, with those thought to be important brought in individually and merged.
GNU General Public License v2.0
142 stars 47 forks source link

dual-iso module depends on mlv_set_type(), which is inappropriate #123

Closed reticulatedpines closed 1 month ago

reticulatedpines commented 6 months ago

Due to using mlv_set_type(), dual-iso module requires either one of mlv_lite or mlv_rec to be loaded. If only one module provided the symbol, it would auto-load. For that part, see https://github.com/reticulatedpines/magiclantern_simplified/issues/113

Still, dual-iso shouldn't have a hard requirement on MLV video capability, it's useful for stills too.

silent module has a cheat for this:

silent/silent.c:extern WEAK_FUNC(ret_0) void mlv_set_type(mlv_hdr_t *hdr, char *type);

The WEAK_FUNC check means if mlv_lite or mlv_rec are already loaded, their symbol will be used. I don't think this will work for dual-iso, because modules are loaded alphabetically... Still, it's worth checking, I'm not sure.

Possible solutions:

reticulatedpines commented 1 month ago

Fixed via WEAK_FUNC.