Adding GStreamer plugins
Scott Palmer
swpalmer at gmail.com
Sun Mar 23 14:03:36 UTC 2014
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 <berry120 at 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
More information about the openjfx-dev
mailing list