GStreamer-Java gst1-java-core v0.9.2

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

GStreamer-Java gst1-java-core v0.9.2

Neil C Smith
Hi All,

A new version (v0.9.2) of the gst1-java-core Java bindings for GStreamer was released yesterday.  It is available for download from the GitHub repository (https://github.com/gstreamer-java/gst1-java-core/releases) and from Maven Central (under org.freedesktop.gstreamer).

The examples repository is also updated with a much-needed simple PlayBin-based video player, including showing how to seek / display position, and display audio levels within a Java UI.  https://github.com/gstreamer-java/gst1-java-examples/blob/master/src/main/java/org/freedesktop/gstreamer/examples/PlayBinVideoPlayer.java

Release notes below.  Any questions or problems please shout.

Priority for 0.9.3 is removing remaining dead 0.10 binding code and references to lowlevel in the public API, unless anyone has any pressing things they want to ask for, contribute or sponsor?

Thanks all, best wishes,

Neil


Release notes

* Added support for extracting values from a `Structure` backed by a native `GValueArray` 
```java
public <T> List<T> getValues(Class<T> type, String fieldName); // type needed for validation
public int[] getIntegers(String fieldName);
public int[] getIntegers(String fieldName, int[] array); // allow caching of array
public double[] getDoubles(String fieldName);
public double[] getDoubles(String fieldName, double[] array);
```
* Added `query()` method to `Element` API to support arbitrary queries, check if the query could be performed, access underlying query `Structure`. Use eg. -
```java
SeekingQuery q = new SeekingQuery(Format.TIME);
if (pipe.query(q)) {
    System.out.println(q.getStart() + " | " + q.getEnd());
    //System.out.println(q.getStructure());
} else {
    System.out.println("Couldn't perform seeking query");
}
```
* Various fixes including making sure all registered classes triggered by `Gst.init()` now correctly extend `NativeObject` (blocker for above features). Some potential for regression if anything relies on class initialization order of the removed non-NativeObject classes - other mechanism might be required, but all tests OK.


--
Neil C Smith
Artist & Technologist

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org


--
Neil C Smith
Artist & Technologist

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel