[gstreamer-bugs] [Bug 583465] Java binding for GStreamer using JNI

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu May 28 13:22:10 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=583465

  GStreamer | gstreamer (core) | Ver: 0.10.x

Andres Colubri changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andres.colubri at gmail.com




------- Comment #7 from Andres Colubri  2009-05-28 20:22 UTC -------
Hi guys, I'm one of the current developers/maintainers of gstreamer-java. I
replied to Miguel's announcement on the gstreamer-java forum, so for now I'll
just repeat what I wrote over there, and see how these threads develop over
time. In what follows I'll be presenting my own
position, which might not necessarily coincide with the opinions of
the other two developers of gstreamer-java, Farkas Levente's
and Tal Shalif. Just as a side note, the original creator of
gstreamer-java, Wayne Meissner, is not longer involved in the project. 

In general terms, I think it is a great thing to have multiple open
source solutions for a given problem, so 1) then users can choose the
solution that fits better their needs and 2) solutions with
complementary strengths can be combined to create better ones.

But I also agree that in the particular context of library bindings, having
alternative bindings is not ideal, unless each binding caters to a
very specific usage or application that cannot be covered by the
others. I doubt that this would be the case for JNA vs JNI-based
gstreamer-java bindings, plus having two separate groups of developers
working on two different sets of bindings will probably be somewhat
wasteful in terms of developer resources. But we certainly need to
start a discussion in this regard.

I think that your project comes out in quite the right time: we are
close to release version 1.2 of gstreamer-java (which is basically a
maintenance release of 1.0 plus a few additions). I'd say that at this
point gstreamer-java is quite stable and it does its job well, as Miguel
pointed out in the gstreamer-java forum. This is why a couple of weeks ago I
started thinking, "well, so what would be a good long term plan for the project
and what major changes would be needed for a future 2.0 release". Given the
existence of Miguel's bindings, a port to JNI might be the major change
prompting for a 2.0 release. Until this major release is ready, JNA-
based gstreamer-java 1.x will continue to serve as the "unofficial"
official gstreamer bindings for java.

This is a big change that would affect the gstreamer-java project
in a big way, so in order to reach the best decision we need to compare the
alternatives carefully. I haven't tried the JNI
bindings yet, but my impression is that at this point their main
advantage is improved performance, while gstreamer-java is
more complete in terms of features. To start off, I'd like to see more
quantitative measurements of the performance gains of the JNI
bindings, under different circumstances. I imagine that using JNI
might speed up elementary operations quite substantially, but how does
this translate into more complex operations that could have their
bottlenecks somewhere else and not in the glue code? Different
scenarios would include: running a typical movie playback pipeline,
video capture under Linux/Windows/OSX, rtsp streaming, etc.

And then, which are the gstreamer features Miguel has implemented already
in his bindings, and which are still missing? Once the JNI bindings
are completed, would they be capable of offering the same
functionality of gstreamer-java, or there are things that cannot be
achieved with JNI? And we (the gstreamer-java people) should answer the reverse
question as well.

Ok, these are my thoughts at the time. I'm looking forward to hear
from all of you guys. 


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=583465.




More information about the Gstreamer-bugs mailing list