Support decoding multiple streams in Java API. (#2149)

This commit is contained in:
Fangjun Kuang
2025-04-25 11:18:57 +08:00
committed by GitHub
parent 48ab90aadc
commit e3280027f9
7 changed files with 160 additions and 3 deletions

View File

@@ -17,6 +17,14 @@ public class OfflineRecognizer {
decode(ptr, s.getPtr());
}
public void decode(OfflineStream[] ss) {
long[] streamPtrs = new long[ss.length];
for (int i = 0; i < ss.length; ++i) {
streamPtrs[i] = ss[i].getPtr();
}
decodeStreams(ptr, streamPtrs);
}
public OfflineStream createStream() {
long p = createStream(ptr);
return new OfflineStream(p);
@@ -55,5 +63,7 @@ public class OfflineRecognizer {
private native void decode(long ptr, long streamPtr);
private native void decodeStreams(long ptr, long[] streamPtrs);
private native Object[] getResult(long streamPtr);
}

View File

@@ -18,6 +18,14 @@ public class OnlineRecognizer {
decode(ptr, s.getPtr());
}
public void decode(OnlineStream[] ss) {
long[] streamPtrs = new long[ss.length];
for (int i = 0; i < ss.length; ++i) {
streamPtrs[i] = ss[i].getPtr();
}
decodeStreams(ptr, streamPtrs);
}
public boolean isReady(OnlineStream s) {
return isReady(ptr, s.getPtr());
}
@@ -68,6 +76,8 @@ public class OnlineRecognizer {
private native void decode(long ptr, long streamPtr);
private native void decodeStreams(long ptr, long[] streamPtrs);
private native boolean isEndpoint(long ptr, long streamPtr);
private native boolean isReady(long ptr, long streamPtr);