Merge branch 'master' of github.com:limelight-stream/limelight-pc

# By Cameron Gutman
# Via Cameron Gutman
* 'master' of github.com:limelight-stream/limelight-pc:
  Update limelight-common with socket buffering fixes
  Update limelight-common jar
  Use the StreamConfiguration class for managing the characteristics of StreamFrame
  Fix X and Y scaling
This commit is contained in:
Diego Waxemberg
2013-12-19 17:31:35 -05:00
3 changed files with 10 additions and 11 deletions

View File

@@ -16,6 +16,7 @@ import com.limelight.gui.StreamFrame;
import com.limelight.input.GamepadHandler;
import com.limelight.nvstream.NvConnection;
import com.limelight.nvstream.NvConnectionListener;
import com.limelight.nvstream.StreamConfiguration;
import com.limelight.nvstream.av.video.VideoDecoderRenderer;
public class Limelight implements NvConnectionListener {
@@ -27,6 +28,7 @@ public class Limelight implements NvConnectionListener {
private boolean connectionFailed;
private static JFrame limeFrame;
private Thread controllerListenerThread;
private StreamConfiguration streamConfig = new StreamConfiguration(1280, 720, 30);
public Limelight(String host) {
this.host = host;
@@ -34,8 +36,8 @@ public class Limelight implements NvConnectionListener {
private void startUp(boolean fullscreen) {
streamFrame = new StreamFrame();
conn = new NvConnection(host, this);
streamFrame.build(conn, fullscreen);
conn = new NvConnection(host, this, streamConfig);
streamFrame.build(conn, streamConfig, fullscreen);
conn.start(PlatformBinding.getDeviceName(), streamFrame,
VideoDecoderRenderer.FLAG_PREFER_QUALITY,
PlatformBinding.getAudioRenderer(),

View File

@@ -96,10 +96,10 @@ public class SwingCpuDecoderRenderer implements VideoDecoderRenderer {
int dx1 = 0;
int dy1 = 0;
if (frame.getWidth() > newWidth) {
dx1 = (frame.getWidth()-newWidth)/4;
dx1 = (frame.getWidth()-newWidth)/2;
}
if (frame.getHeight() > newHeight) {
dy1 = (frame.getHeight()-newHeight)/4;
dy1 = (frame.getHeight()-newHeight)/2;
}
if (AvcDecoder.getRgbFrameInt(imageBuffer, imageBuffer.length)) {

View File

@@ -26,6 +26,7 @@ import com.limelight.input.KeyboardHandler;
import com.limelight.input.MouseHandler;
import com.limelight.nvstream.NvConnection;
import com.limelight.nvstream.NvConnectionListener.Stage;
import com.limelight.nvstream.StreamConfiguration;
public class StreamFrame extends JFrame {
private static final long serialVersionUID = 1L;
@@ -37,10 +38,6 @@ public class StreamFrame extends JFrame {
private Cursor noCursor;
private NvConnection conn;
private static final int WIDTH = 1280;
private static final int HEIGHT = 720;
public void freeMouse() {
mouse.free();
showCursor();
@@ -51,7 +48,7 @@ public class StreamFrame extends JFrame {
hideCursor();
}
public void build(NvConnection conn, boolean fullscreen) {
public void build(NvConnection conn, StreamConfiguration streamConfig, boolean fullscreen) {
this.conn = conn;
keyboard = new KeyboardHandler(conn, this);
@@ -63,7 +60,7 @@ public class StreamFrame extends JFrame {
this.setFocusTraversalKeysEnabled(false);
this.setSize(WIDTH, HEIGHT);
this.setSize(streamConfig.getWidth(), streamConfig.getHeight());
this.setBackground(Color.BLACK);
this.getContentPane().setBackground(Color.BLACK);
@@ -92,7 +89,7 @@ public class StreamFrame extends JFrame {
});
DisplayMode bestConfig = null;
for (DisplayMode config : configs) {
if (config.getWidth() >= 1280 && config.getHeight() >= 720) {
if (config.getWidth() >= getSize().width && config.getHeight() >= getSize().height) {
bestConfig = config;
}
}