Hi all,

I've managed to clone and build OpenJFX successfully, and am now in the
process of trying to see how feasible it would be to add support for other
media formats. As a first port of call I'm attempting to see if I can get
the framework accepting the Matroska plugin, but seem to be coming a bit
unstuck on the native side of things (including the plugin with GStreamer.)
I've made the relevant modifications on the Java side of things to persuade
the platform to accept MKV files and pass them down to the GStreamer layer,
and that compiles and runs without any issues.

However, I'm not sure if I'm going about including the matroska plugin in
the right way - I've currently done the following:

 - Downloaded the latest version of the plugins from here (
http://gstreamer.freedesktop.org/src/gst-plugins-good/), then added the
matroska one to the modules/media/src/main/native/gstreamer/plugins/
folder, as well as the
modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-good/gst/
folder (I'm unsure of this - should I add it to both these folders?).

 - Added all the C files from the first folder mentioned above to the
plugins.vcxproj file

 - Added the relevant files and directory to Makefile.gstplugins

 - Called the additional relevant plugin_init() function in
gstplugins-lite.c

However, after the above I still get the same result having touched none of
the native code, that being that GSTMediaPlayer throws a MediaException
with flag 257, which seems to mean it couldn't create the required media
from the given location.

So at this point I'm a bit stuck really - of course, the whole task may be
much more complicated than I'm assuming it should be. I'm not even sure if
the default "gradle sdk" task is actually reflecting the changes I've made
- certainly gstreamer-lite.dll seems to be exactly the same size as before,
though I'm unsure if the additional plugin is meant to be embedded in this
file or not. I'm experienced with Java but much less so with C++, and
completely new to gradle (as of yesterday.)

Is there anything obvious I'm not doing correctly, and if so would someone
be kind enough to give me a bit of a nudge in the right direction?

Many thanks,

Michael

Reply via email to