From e7f53dc6af093feffe3dbcdc30130ac35bdf0993 Mon Sep 17 00:00:00 2001 From: Brian Hinz Date: Sun, 4 Dec 2011 22:58:48 +0000 Subject: [PATCH] oops, bad commit! I only meant to commit the changes to the TightDecoder. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4822 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- java/com/tigervnc/rdr/InStream.java | 29 ++--- java/com/tigervnc/rdr/JavaInStream.java | 107 +++++++----------- java/com/tigervnc/rdr/ZlibInStream.java | 1 + java/com/tigervnc/rfb/PixelBuffer.java | 5 - java/com/tigervnc/vncviewer/CConn.java | 4 - .../com/tigervnc/vncviewer/DesktopWindow.java | 11 -- .../com/tigervnc/vncviewer/OptionsDialog.java | 1 - .../tigervnc/vncviewer/PixelBufferImage.java | 8 -- java/com/tigervnc/vncviewer/VncViewer.java | 6 - 9 files changed, 51 insertions(+), 121 deletions(-) diff --git a/java/com/tigervnc/rdr/InStream.java b/java/com/tigervnc/rdr/InStream.java index f998025f..a18ea4ed 100644 --- a/java/com/tigervnc/rdr/InStream.java +++ b/java/com/tigervnc/rdr/InStream.java @@ -30,7 +30,6 @@ abstract public class InStream { // maximum of nItems). public int check(int itemSize, int nItems, boolean wait) { -/* int available = end - ptr; if (itemSize * nItems > available) { if (itemSize > available) @@ -39,14 +38,6 @@ abstract public class InStream { nItems = available / itemSize; } return nItems; -*/ - if (ptr + itemSize * nItems > end) { - if (ptr + itemSize > end) - return overrun(itemSize, nItems, wait); - - nItems = (end - ptr) / itemSize; - } - return nItems; } public int check(int itemSize, int nItems) { return check(itemSize, nItems, true); } @@ -120,17 +111,14 @@ abstract public class InStream { // no byte-ordering, we just use big-endian. public final int readOpaque8() { return readU8(); } - public final int readOpaque16() { check(2); int r0 = b[ptr++]; - int r1 = b[ptr++]; return r0 << 8 | r1; } - public final int readOpaque32() { check(4); int r0 = b[ptr++]; int r1 = b[ptr++]; - int r2 = b[ptr++]; int r3 = b[ptr++]; - return r0 << 24 | r1 << 16 | r2 << 8 | r3; } - public final int readOpaque24A() { check(3, 1, true); int r0 = b[ptr++]; - int r1 = b[ptr++]; int r2 = b[ptr++]; - return r0 << 24 | r1 << 16 | r2 << 8; } - public final int readOpaque24B() { check(3, 1, true); int r0 = b[ptr++]; - int r1 = b[ptr++]; int r2 = b[ptr++]; - return r0 << 16 | r1 << 8 | r2; } + public final int readOpaque16() { return readU16(); } + public final int readOpaque32() { return readU32(); } + public final int readOpaque24A() { check(3, 1, true); int b0 = b[ptr++]; + int b1 = b[ptr++]; int b2 = b[ptr++]; + return b0 << 24 | b1 << 16 | b2 << 8; } + public final int readOpaque24B() { check(3, 1, true); int b0 = b[ptr++]; + int b1 = b[ptr++]; int b2 = b[ptr++]; + return b0 << 16 | b1 << 8 | b2; } public final int readPixel(int bytesPerPixel, boolean bigEndian) { byte[] pix = new byte[4]; @@ -202,5 +190,4 @@ abstract public class InStream { protected byte[] b; protected int ptr; protected int end; - protected int start; } diff --git a/java/com/tigervnc/rdr/JavaInStream.java b/java/com/tigervnc/rdr/JavaInStream.java index fb6ab8b6..faa968ac 100644 --- a/java/com/tigervnc/rdr/JavaInStream.java +++ b/java/com/tigervnc/rdr/JavaInStream.java @@ -21,37 +21,25 @@ // package com.tigervnc.rdr; -import java.io.InputStream; -import java.io.DataInputStream; public class JavaInStream extends InStream { static final int defaultBufSize = 8192; static final int minBulkSize = 1024; - public JavaInStream(InputStream jis_, int bufSize_) - { - jis = new DataInputStream(jis_); + public JavaInStream(java.io.InputStream jis_, int bufSize_) { + jis = jis_; bufSize = bufSize_; b = new byte[bufSize]; - ptr = end = offset = start = 0; + ptr = end = offset = 0; timing = false; timeWaitedIn100us = 5; timedKbits = 0; } - public JavaInStream(InputStream jis_) - { - this(jis_, defaultBufSize); - } - - public int pos() - { - return offset + ptr - start; - } + public JavaInStream(java.io.InputStream jis_) { this(jis_, defaultBufSize); } - public void readBytes(byte[] data, int dataPtr, int length) - { + public void readBytes(byte[] data, int dataPtr, int length) { if (length < minBulkSize) { super.readBytes(data, dataPtr, length); return; @@ -73,32 +61,56 @@ public class JavaInStream extends InStream { } } + public int pos() { return offset + ptr; } + + public void startTiming() { + timing = true; + + // Carry over up to 1s worth of previous rate for smoothing. + + if (timeWaitedIn100us > 10000) { + timedKbits = timedKbits * 10000 / timeWaitedIn100us; + timeWaitedIn100us = 10000; + } + } + + public void stopTiming() { + timing = false; + if (timeWaitedIn100us < timedKbits/2) + timeWaitedIn100us = timedKbits/2; // upper limit 20Mbit/s + } + + public long kbitsPerSecond() { + return timedKbits * 10000 / timeWaitedIn100us; + } + + public long timeWaited() { return timeWaitedIn100us; } + protected int overrun(int itemSize, int nItems, boolean wait) { if (itemSize > bufSize) throw new Exception("JavaInStream overrun: max itemSize exceeded"); if (end - ptr != 0) - System.arraycopy(b, ptr, b, start, end - ptr); + System.arraycopy(b, ptr, b, 0, end - ptr); - offset += ptr - start; - end -= ptr - start; - ptr = start; + offset += ptr; + end -= ptr; + ptr = 0; - int bytes_to_read; - while (end < start + itemSize) { - bytes_to_read = start + bufSize - end; + while (end < itemSize) { + int bytes_to_read = bufSize - end; if (!timing) { bytes_to_read = Math.min(bytes_to_read, Math.max(itemSize*nItems, 8)); } int n = read(b, end, bytes_to_read, wait); - if (n == 0) return 0; + end += n; } - if (itemSize * nItems > end - ptr) - nItems = (end - ptr) / itemSize; + if (itemSize * nItems > end) + nItems = end / itemSize; return nItems; } @@ -110,17 +122,7 @@ public class JavaInStream extends InStream { int n = -1; try { - //System.out.println("available: "+jis.available()); - //int available = jis.available(); - //if (!wait && (available == 0)) - // return 0; - //if (available > 0 && available < len) { - // n = jis.read(buf, bufPtr, available); - //} else { - n = jis.read(buf, bufPtr, len); - //} - } catch (java.net.SocketTimeoutException e) { - return Math.max(n,0); + n = jis.read(buf, bufPtr, len); } catch (java.io.IOException e) { throw new IOException(e); } @@ -148,34 +150,9 @@ public class JavaInStream extends InStream { return n; } - private int read(byte[] buf, int bufPtr, int len) { - return read(buf, bufPtr, len, true); - } - - public void startTiming() { - timing = true; - - // Carry over up to 1s worth of previous rate for smoothing. - - if (timeWaitedIn100us > 10000) { - timedKbits = timedKbits * 10000 / timeWaitedIn100us; - timeWaitedIn100us = 10000; - } - } - - public void stopTiming() { - timing = false; - if (timeWaitedIn100us < timedKbits/2) - timeWaitedIn100us = timedKbits/2; // upper limit 20Mbit/s - } - - public long kbitsPerSecond() { - return timedKbits * 10000 / timeWaitedIn100us; - } - - public long timeWaited() { return timeWaitedIn100us; } + private int read(byte[] buf, int bufPtr, int len) { return read(buf, bufPtr, len, true); } - private DataInputStream jis; + private java.io.InputStream jis; private int offset; private int bufSize; diff --git a/java/com/tigervnc/rdr/ZlibInStream.java b/java/com/tigervnc/rdr/ZlibInStream.java index 44f48282..46b1c509 100644 --- a/java/com/tigervnc/rdr/ZlibInStream.java +++ b/java/com/tigervnc/rdr/ZlibInStream.java @@ -138,4 +138,5 @@ public class ZlibInStream extends InStream { private int offset; private com.jcraft.jzlib.ZStream zs; private int bytesIn; + private int start; } diff --git a/java/com/tigervnc/rfb/PixelBuffer.java b/java/com/tigervnc/rfb/PixelBuffer.java index 967d4695..f87fead8 100644 --- a/java/com/tigervnc/rfb/PixelBuffer.java +++ b/java/com/tigervnc/rfb/PixelBuffer.java @@ -65,11 +65,6 @@ public class PixelBuffer { System.arraycopy(pix, (w * j), data, width_ * (y + j) + x, w); } - public void imageRect(int x, int y, int w, int h, byte[] pix) { - for (int j = 0; j < h; j++) - System.arraycopy(pix, (w * j), data, width_ * (y + j) + x, w); - } - public void copyRect(int x, int y, int w, int h, int srcX, int srcY) { int dest = (width_ * y) + x; int src = (width_ * srcY) + srcX; diff --git a/java/com/tigervnc/vncviewer/CConn.java b/java/com/tigervnc/vncviewer/CConn.java index 47868d61..ae03b524 100644 --- a/java/com/tigervnc/vncviewer/CConn.java +++ b/java/com/tigervnc/vncviewer/CConn.java @@ -181,10 +181,6 @@ public class CConn extends CConnection cp.compressLevel = viewer.compressLevel.getValue(); cp.noJpeg = viewer.noJpeg.getValue(); cp.qualityLevel = viewer.qualityLevel.getValue(); - if (viewer.x509ca.getValue() != viewer.x509ca.getDefaultStr()) - CSecurityTLS.x509ca.setParam(viewer.x509ca.getValue()); - if (viewer.x509crl.getValue() != viewer.x509crl.getDefaultStr()) - CSecurityTLS.x509crl.setParam(viewer.x509crl.getValue()); initMenu(); if (sock != null) { diff --git a/java/com/tigervnc/vncviewer/DesktopWindow.java b/java/com/tigervnc/vncviewer/DesktopWindow.java index 4b9cd195..087b58fd 100644 --- a/java/com/tigervnc/vncviewer/DesktopWindow.java +++ b/java/com/tigervnc/vncviewer/DesktopWindow.java @@ -282,17 +282,6 @@ class DesktopWindow extends JPanel implements showLocalCursor(); } - final public void imageRect(int x, int y, int w, int h, - byte[] pix) { - if (overlapsCursor(x, y, w, h)) hideLocalCursor(); - synchronized (im) { - im.imageRect(x, y, w, h, pix); - } - invalidate(x, y, w, h); - if (softCursor == null) - showLocalCursor(); - } - final public void copyRect(int x, int y, int w, int h, int srcX, int srcY) { if (overlapsCursor(x, y, w, h) || overlapsCursor(srcX, srcY, w, h)) diff --git a/java/com/tigervnc/vncviewer/OptionsDialog.java b/java/com/tigervnc/vncviewer/OptionsDialog.java index 593effd7..9a463fb3 100644 --- a/java/com/tigervnc/vncviewer/OptionsDialog.java +++ b/java/com/tigervnc/vncviewer/OptionsDialog.java @@ -20,7 +20,6 @@ package com.tigervnc.vncviewer; import java.awt.*; import java.awt.event.*; -import java.io.File; import javax.swing.*; import javax.swing.border.*; diff --git a/java/com/tigervnc/vncviewer/PixelBufferImage.java b/java/com/tigervnc/vncviewer/PixelBufferImage.java index 45688f4b..648e6388 100644 --- a/java/com/tigervnc/vncviewer/PixelBufferImage.java +++ b/java/com/tigervnc/vncviewer/PixelBufferImage.java @@ -62,8 +62,6 @@ public class PixelBufferImage extends PixelBuffer implements ImageProducer width_ = w; height_ = h; - //source = new MemoryImageSource(w,h,cm,data,0,w); - //source.setAnimated(true); image = desktop.createImage(this); image.setAccelerationPriority(1); @@ -72,9 +70,6 @@ public class PixelBufferImage extends PixelBuffer implements ImageProducer for (int i = 0; i < rowsToCopy; i++) System.arraycopy(oldData, copyWidth * i, data, width() * i, copyWidth); - //source.newPixels(data, cm, 0, w); - //source.newPixels(0, 0, w, h, true); - //source.setFullBufferUpdates(true); } public PixelFormat getNativePF() { @@ -108,7 +103,6 @@ public class PixelBufferImage extends PixelBuffer implements ImageProducer public void put(int x, int y, int w, int h, Graphics g) { if (ic != null) { ic.setPixels(x, y, w, h, cm, data, width() * y + x, width()); - //source.newPixels(x, y, w, h, true); g.setClip(x, y, w, h); ic.imageComplete(ImageConsumer.SINGLEFRAMEDONE); } @@ -122,7 +116,6 @@ public class PixelBufferImage extends PixelBuffer implements ImageProducer super.copyRect(x, y, w, h, srcX, srcY); if (ic == null) return; ic.setPixels(x, y, w, h, cm, data, width() * y + x, width()); - //source.newPixels(x, y, w, h, true); g.setClip(x, y, w, h); ic.imageComplete(ImageConsumer.SINGLEFRAMEDONE); } @@ -178,7 +171,6 @@ public class PixelBufferImage extends PixelBuffer implements ImageProducer public void requestTopDownLeftRightResend(ImageConsumer c) {} public void startProduction(ImageConsumer c) { addConsumer(c); } - MemoryImageSource source; Image image; ImageConsumer ic; diff --git a/java/com/tigervnc/vncviewer/VncViewer.java b/java/com/tigervnc/vncviewer/VncViewer.java index 0bf8db0a..97b9427c 100644 --- a/java/com/tigervnc/vncviewer/VncViewer.java +++ b/java/com/tigervnc/vncviewer/VncViewer.java @@ -258,12 +258,6 @@ public class VncViewer extends java.applet.Applet implements Runnable "Password file for VNC authentication", ""); AliasParameter passwd = new AliasParameter("passwd", "Alias for PasswordFile", passwordFile); - StringParameter x509crl - = new StringParameter("X509crl", - "Path to X509 CRL certificate file", ""); - StringParameter x509ca - = new StringParameter("X509ca", - "Path to X509 CA certificate file", ""); BoolParameter autoSelect = new BoolParameter("AutoSelect", "Auto select pixel format and encoding", true); -- 2.39.5