-
Notifications
You must be signed in to change notification settings - Fork 424
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
FFmpeg: Only load versioned libraries on Linux #6154
FFmpeg: Only load versioned libraries on Linux #6154
Conversation
This reduces the likelihood of loading incompatible FFmpeg binaries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some small nits, I think 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm! Thanks!
Prerequisite:
macOS and Windows already use versioned files, e.g.
libavutil.56.dylib
,avutil-56.dll
. Linux uses unversioned binaries at the moment, presumably because theNativeLibrary.Load
methods don't handle the Linux versioning conventions (libavutil.so.56
) very well.This change makes it so only compatible FFmpeg libraries are loaded1, which is the first step towards implementing #6025.
Footnotes
As determined by the file name, which has some obvious caveats. Properly checking the library version seems like an overkill. ↩