[Development] Print FBS entry point information when efficient seeking via index files may be used. Efficient seeking itself is not implemented yet.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2607 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tightvnc/rfbplayer/FbsConnection.java b/java/src/com/tightvnc/rfbplayer/FbsConnection.java
index 0939785..23b0765 100644
--- a/java/src/com/tightvnc/rfbplayer/FbsConnection.java
+++ b/java/src/com/tightvnc/rfbplayer/FbsConnection.java
@@ -63,6 +63,21 @@
}
FbsInputStream connect(long timeOffset) throws IOException {
+ // Try efficient seeking first.
+ if (timeOffset > 0 && indexData != null && numIndexRecords > 0) {
+ int i = 0;
+ while (i < numIndexRecords && indexData[i].timestamp <= timeOffset) {
+ i++;
+ }
+ if (i > 0) {
+ FbsEntryPoint entryPoint = indexData[i - 1];
+ if (entryPoint.key_size < entryPoint.fbs_fpos) {
+ System.err.println(entryPoint);
+ }
+ }
+ }
+
+ // Playback/seek from the beginning.
URLConnection connection = fbsURL.openConnection();
FbsInputStream fbs = new FbsInputStream(connection.getInputStream());
fbs.setTimeOffset(timeOffset);