I applaud your effort, but please consider while you are doing this: Addressing RT-18009 is good Addressing RT-2684 is way better. https://javafx-jira.kenai.com/browse/RT-2684
If there is a mechanism to write a stub plugin that hooks into the GStreamer plugin mechanism such that end users of JavaFX can write a module (in Java, with the option of using JNI) that supplies the uncompressed frames via a NativeByteBuffer, that would be a great start. Scott On Mar 22, 2014, at 9:26 PM, Michael Berry <berry...@gmail.com> wrote: > 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