osu-framework icon indicating copy to clipboard operation
osu-framework copied to clipboard

FFmpeg: Only load versioned libraries on Linux

Open FreezyLemon opened this issue 1 year ago • 2 comments

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.

FreezyLemon avatar Jan 28 '24 22:01 FreezyLemon

"you may need to make a new CI pipeline to test the switching"

@sr229 what switching?

bdach avatar Feb 12 '24 13:02 bdach

"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.

sr229 avatar Feb 12 '24 14:02 sr229