-
-
Notifications
You must be signed in to change notification settings - Fork 809
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
video: Prefer loading system OpenH264 library to downloading it #17799
Conversation
a9e6fbb
to
869e87c
Compare
Just a random observation on my Fedora 40 system:
Meanwhile: http://ciscobinary.openh264.org/libopenh264-2.4.1-linux64.7.so.signed.md5.txt -> I don't know where this file is coming from, or why it's different... :/ |
Oh... https://fedoraproject.org/wiki/OpenH264
|
Never mind, it mattersn't, as discussed on Discord... 🙃 |
281b295
to
ac209f9
Compare
ac209f9
to
3a892e6
Compare
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, thank you very much! 🥳
Now, to rebase #16794 again, on top of this... 😩
This value does not have to be a path, it can be a filename of a library that is automatically located on the system.
This struct represents the OpenH264 codec and makes it possible to reuse the reference to the OpenH264 library across decoders. It also adds better error handling.
By using the H264Codec struct, we can load OpenH264 early and reuse its instance for all decoders.
This struct makes it easier to manage os/arch-specific OpenH264 information.
Some systems do have OpenH264 installed and in order to get rid of the delay caused by downloading the library (and needlessly downloading it in the first place), an attempt is made first to load OpenH264 as a system library. When loading fails (or version is mismatched), only then Ruffle downloads OpenH264 and uses that version of the library.
3a892e6
to
6caadb6
Compare
Just replaced one more occurrence of |
Some systems do have OpenH264 installed and in order to get rid of the delay caused by downloading the library (and needlessly downloading it in the first place), an attempt is made first to load OpenH264 as a system library. When loading fails (or version is mismatched), only then Ruffle downloads OpenH264 and uses that version of the library.
This also will make it possible to support OpenH264 in Flatpak.