You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Next »
This page contains brief and not precise description of how to upgrade
GLib/GStreamer 3-rd party libraries of JavaFX Media component.
[1] Start with the lower lever. It's glib. Linux doesn't need any glib
update - we use the system glib. So glib update is necessary for Win/Mac.
[1.1] Latest glib has plenty of dependencies on other 3-rd party
libraries. But there is one that's mandatory - libFFI. Fortunately
Oracle has approval to use libFFI in it's products. But this probably
isn't necessary for OpenJFX. So at you first step you need to bring
libFFI sources, place them in
rt/modules/media/src/main/native/gstreamer/3rd_party/libffi and make
sure it builds on Windows and Mac producing lib/a for static linking.
You can probably make dll/dylib instead but I don't think it's necessary.
[1.2] Take the latest glib 2.38 or even 2.40. Place them in
rt/modules/media/src/main/native/gstreamer/3rd_party/glib
Note that you don't need all sources/headers. But to remove precisely
what's redundant you should first compile gstreamer/plugins.
Here you make sure you can compile and build
glib-lite.dll/libglib-lite.dylib
Having done 1.2 you should be able to run media component with the new
glib-lite.dll. If it runs then you're done with glib upgrade.
It's important to apply fixes that we made in glib to the newer glib
library. You can find them by grepping for GSTREAMER_LITE in
sources/headers.
[2] GStreamer update.
[3] Oracle plugins compilation/update. This step will also be necessary
because 0.10.35 API is different from 1.0. For Example GstBuffer that we
extensively use has incompatible APIs.