mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-02-16 10:30:47 +00:00
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:
@@ -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(),
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user