Skip to content

Commit 790d320

Browse files
committed
Add GValue.reset()
1 parent 9e0652a commit 790d320

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

src/org/freedesktop/gstreamer/GstIterator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
import java.util.LinkedList;
2626
import java.util.List;
2727

28+
import org.freedesktop.gstreamer.lowlevel.GType;
29+
import org.freedesktop.gstreamer.lowlevel.GValueAPI;
30+
import org.freedesktop.gstreamer.lowlevel.GstIteratorAPI;
2831
import org.freedesktop.gstreamer.lowlevel.GstNative;
32+
import org.freedesktop.gstreamer.lowlevel.GstTypes;
2933
import org.freedesktop.gstreamer.lowlevel.NativeObject;
30-
import org.freedesktop.gstreamer.lowlevel.GstIteratorAPI;
3134

3235
import com.sun.jna.Pointer;
33-
import org.freedesktop.gstreamer.lowlevel.GType;
34-
import org.freedesktop.gstreamer.lowlevel.GValueAPI;
35-
import org.freedesktop.gstreamer.lowlevel.GstTypes;
3636

3737
/**
3838
*
@@ -78,10 +78,10 @@ class IteratorImpl implements java.util.Iterator<T> {
7878

7979
private T getNext() {
8080
if (gst.gst_iterator_next(handle(), gValue) == 1) {
81-
next = (T) gValue.getValue();
81+
T result = (T) gValue.getValue();
8282
// reset cached structure or we get a memory leak
83-
GValueAPI.GVALUE_API.g_value_reset(gValue);
84-
return next;
83+
gValue.reset();
84+
return result;
8585
} else {
8686
return null;
8787
}

src/org/freedesktop/gstreamer/lowlevel/GValueAPI.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121

2222
package org.freedesktop.gstreamer.lowlevel;
2323

24+
import java.util.Arrays;
2425
import java.util.HashMap;
26+
import java.util.List;
2527

2628
import org.freedesktop.gstreamer.GObject;
2729
import org.freedesktop.gstreamer.lowlevel.annotations.CallerOwnsReturn;
@@ -30,8 +32,6 @@
3032
import com.sun.jna.Library;
3133
import com.sun.jna.NativeLong;
3234
import com.sun.jna.Pointer;
33-
import java.util.Arrays;
34-
import java.util.List;
3535

3636
/**
3737
*
@@ -90,11 +90,16 @@ public GValue(GType type, Object val) {
9090
}
9191

9292
public GValue() {}
93+
9394
public GValue(Pointer ptr) {
9495
useMemory(ptr);
9596
read();
9697
}
9798

99+
public void reset() {
100+
GValueAPI.GVALUE_API.g_value_reset(this);
101+
}
102+
98103
private <T> T validateVal(Object val, Class<T> clazz) {
99104
return validateVal(val, clazz, false);
100105
}

0 commit comments

Comments
 (0)