JNA port

In the process of evaluating Java Native Access (JNA) for libxine-java, I've created an experimental JNA audio-only port of it. It's main feature is that it does not require a C compiler and linker, and that it is easy to package with java applications.

It's available in the SVN. To get it

 svn co https://libxine-java.svn.sourceforge.net/svnroot/libxine-java/branches/libxine-java-jna

It needs the jna.jar which is automatically downloaded into the libs folder by the ant build file.

To build it:

 ant

Run the example player:

 java -cp bin:lib/jna.jar MuXine AudioFile

The MuXine.java example is similar to the one from libxine-java using SWIG & JNI but only plays audio.

Only a limited subset of xine is available yet. Take care! :)

I'm not sure, if using JNA is a viable option in general, especially for Java video integration, but it might be fine for some projects which are audio-only.

ToDos

  • Figure out, if the two frame callbacks (frame_output_cb and .. ) can be are needed, and/or, if there can be a "default" implementation provided by xine-lib.
  • No callbacks are used in the Cocoa XineOpenGLViewer. But Cocoa might be needed, still, see Rococo.
  • Maybe a minimal lib can be provided as a runtime binary