<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div><div>Hi All,<br><br></div>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 (<a href="https://github.com/gstreamer-java/gst1-java-core/releases" target="_blank">https://github.com/gstreamer-java/gst1-java-core/releases</a>) and from Maven Central (under org.freedesktop.gstreamer).</div><div><br></div><div>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.  <a href="https://github.com/gstreamer-java/gst1-java-examples/blob/master/src/main/java/org/freedesktop/gstreamer/examples/PlayBinVideoPlayer.java" target="_blank">https://github.com/gstreamer-java/gst1-java-examples/blob/master/src/main/java/org/freedesktop/gstreamer/examples/PlayBinVideoPlayer.java</a> <br></div><div><br></div><div>Release notes below.  Any questions or problems please shout.</div><div><br></div><div>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?</div><div><br></div><div>Thanks all, best wishes,</div><div><br></div><div>Neil<br></div><div><br><br></div>Release notes<br><div><br>* Added support for extracting values from a `Structure` backed by a native `GValueArray`  <br>```java<br>public <T> List<T> getValues(Class<T> type, String fieldName); // type needed for validation<br>public int[] getIntegers(String fieldName);<br>public int[] getIntegers(String fieldName, int[] array); // allow caching of array<br>public double[] getDoubles(String fieldName);<br>public double[] getDoubles(String fieldName, double[] array);<br>```<br>* Added `query()` method to `Element` API to support arbitrary queries, check if the query could be performed, access underlying query `Structure`. Use eg. -<br>```java<br>SeekingQuery q = new SeekingQuery(Format.TIME); <br>if (pipe.query(q)) {<br>    System.out.println(q.getStart() + " | " + q.getEnd());<br>    //System.out.println(q.getStructure());<br>} else {<br>    System.out.println("Couldn't perform seeking query");<br>}<br>```<br>* 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.<br></div></div><br clear="all"><br>-- <br><div dir="ltr" class="m_4572152987460380297gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Neil C Smith<div>Artist & Technologist</div><div><a href="http://www.neilcsmith.net" target="_blank">www.neilcsmith.net</a></div><div><br></div><div>Praxis LIVE - hybrid visual IDE for creative coding - <a href="http://www.praxislive.org" target="_blank">www.praxislive.org</a></div></div></div></div></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Neil C Smith<div>Artist & Technologist</div><div><a href="http://www.neilcsmith.net" target="_blank">www.neilcsmith.net</a></div><div><br></div><div>Praxis LIVE - hybrid visual IDE for creative coding - <a href="http://www.praxislive.org" target="_blank">www.praxislive.org</a></div></div></div>