osu-framework
osu-framework copied to clipboard
FFmpeg: Only load versioned libraries on Linux
Prerequisite:
- [ ] #6153 (TODO: Update NativeLib in this PR after the the other PR is merged)
macOS and Windows already use versioned files, e.g. libavutil.56.dylib, avutil-56.dll. Linux uses unversioned binaries at the moment, presumably because the NativeLibrary.Load methods don't handle the Linux versioning conventions (libavutil.so.56) very well.
This change makes it so only compatible FFmpeg libraries are loaded[^1], which is the first step towards implementing #6025.
[^1]: As determined by the file name, which has some obvious caveats. Properly checking the library version seems like an overkill.
"you may need to make a new CI pipeline to test the switching"
@sr229 what switching?
"you may need to make a new CI pipeline to test the switching"
@sr229 what switching?
Apologies, it seems this code is also meaning to set the stone for #6025 so I may have misread the intent of the PR as asking for a precise version especially in the context of the aforementioned issue this would break on a minor version upgrade. Please disregard and dismiss.