Removed the TCP video streaming code.
This commit is contained in:
37
src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java
Normal file
37
src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package ve.ucv.ciens.ccg.networkdata;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class MotorEvent implements Serializable{
|
||||
private static final long serialVersionUID = 9989L;
|
||||
|
||||
public enum motor_t {NONE, MOTOR_A, MOTOR_B, MOTOR_C, MOTOR_AC};
|
||||
|
||||
private motor_t motor;
|
||||
private byte power;
|
||||
|
||||
public MotorEvent(){
|
||||
motor = motor_t.NONE;
|
||||
power = 0;
|
||||
}
|
||||
|
||||
public void setMotor(motor_t motor){
|
||||
this.motor = motor;
|
||||
}
|
||||
|
||||
public void setPower(byte power) throws IllegalArgumentException{
|
||||
if(power > 100 || power < -100){
|
||||
throw new IllegalArgumentException("Motor power must be a number between -100 and 100");
|
||||
}else{
|
||||
this.power = power;
|
||||
}
|
||||
}
|
||||
|
||||
public motor_t getMotor(){
|
||||
return this.motor;
|
||||
}
|
||||
|
||||
public byte getPower(){
|
||||
return this.power;
|
||||
}
|
||||
}
|
@@ -97,7 +97,7 @@ public class NxtARCore implements ApplicationListener, NetworkConnectionListener
|
||||
frameMonitor = VideoFrameMonitor.getInstance();
|
||||
mcastEnabler.enableMulticast();
|
||||
udpThread = ServiceDiscoveryThread.getInstance();
|
||||
videoThread = VideoStreamingThread.getInstance().setToaster(toaster);
|
||||
videoThread = VideoStreamingThread.getInstance()/*.setToaster(toaster)*/;
|
||||
//robotThread = RobotControlThread.getInstance().setToaster(toaster);
|
||||
|
||||
udpThread.start();
|
||||
@@ -138,8 +138,10 @@ public class NxtARCore implements ApplicationListener, NetworkConnectionListener
|
||||
|
||||
sprite = new Sprite(region);
|
||||
sprite.setSize(0.9f, 0.9f * sprite.getWidth() / sprite.getHeight());
|
||||
sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
|
||||
sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);
|
||||
/*sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
|
||||
sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);*/
|
||||
sprite.setOrigin(0, 0);
|
||||
sprite.setPosition(-sprite.getWidth()/2, (-sprite.getHeight()/3));
|
||||
sprite.rotate90(true);
|
||||
|
||||
batch.setProjectionMatrix(camera.combined);
|
||||
|
@@ -18,15 +18,12 @@ package ve.ucv.ciens.ccg.nxtar.network;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
|
||||
import ve.ucv.ciens.ccg.networkdata.VideoFrameDataMessage;
|
||||
import ve.ucv.ciens.ccg.nxtar.interfaces.NetworkConnectionListener;
|
||||
import ve.ucv.ciens.ccg.nxtar.interfaces.Toaster;
|
||||
import ve.ucv.ciens.ccg.nxtar.utils.ProjectConstants;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
@@ -36,21 +33,21 @@ public class VideoStreamingThread extends Thread {
|
||||
private static final String TAG = "NXTAR_CORE_VIDEOTHREAD";
|
||||
private static final String CLASS_NAME = VideoStreamingThread.class.getSimpleName();
|
||||
|
||||
private enum ProtocolState_t {WAIT_FOR_START, SEND_CONTINUE, RECEIVE_DATA, SEND_ACK_NEXT, SEND_ACK_WAIT, PAUSED, END_STREAM};
|
||||
//private enum ProtocolState_t {WAIT_FOR_START, SEND_CONTINUE, RECEIVE_DATA, SEND_ACK_NEXT, SEND_ACK_WAIT, PAUSED, END_STREAM};
|
||||
|
||||
private NetworkConnectionListener netListener;
|
||||
private ServerSocket server;
|
||||
//private ServerSocket server;
|
||||
private DatagramSocket socket;
|
||||
private Toaster toaster;
|
||||
private ProtocolState_t protocolState;
|
||||
//private Toaster toaster;
|
||||
//private ProtocolState_t protocolState;
|
||||
private boolean protocolStarted;
|
||||
private boolean pauseProtocol;
|
||||
private boolean endProtocol;
|
||||
/*private boolean pauseProtocol;
|
||||
private boolean endProtocol;*/
|
||||
private boolean done;
|
||||
private Object protocolPauseMonitor;
|
||||
private Socket client;
|
||||
private ObjectInputStream reader;
|
||||
private ObjectOutputStream writer;
|
||||
//private ObjectInputStream reader;
|
||||
//private ObjectOutputStream writer;
|
||||
private VideoFrameMonitor frameMonitor;
|
||||
private long then;
|
||||
private long now;
|
||||
@@ -62,18 +59,18 @@ public class VideoStreamingThread extends Thread {
|
||||
|
||||
fps = 0;
|
||||
netListener = null;
|
||||
toaster = null;
|
||||
//toaster = null;
|
||||
protocolStarted = false;
|
||||
endProtocol = false;
|
||||
pauseProtocol = false;
|
||||
/*endProtocol = false;
|
||||
pauseProtocol = false;*/
|
||||
done = false;
|
||||
protocolState = ProtocolState_t.WAIT_FOR_START;
|
||||
//protocolState = ProtocolState_t.WAIT_FOR_START;
|
||||
protocolPauseMonitor = new Object();
|
||||
frameMonitor = VideoFrameMonitor.getInstance();
|
||||
|
||||
try{
|
||||
server = new ServerSocket(ProjectConstants.SERVER_TCP_PORT_1);
|
||||
socket = new DatagramSocket(ProjectConstants.SERVER_TCP_PORT_2);
|
||||
//server = new ServerSocket(ProjectConstants.SERVER_TCP_PORT_1);
|
||||
socket = new DatagramSocket(ProjectConstants.SERVER_TCP_PORT_1);
|
||||
}catch(IOException io){
|
||||
Gdx.app.error(TAG, CLASS_NAME + ".VideoStreamingThread() :: Error creating server: " + io.getMessage(), io);
|
||||
}
|
||||
@@ -87,26 +84,26 @@ public class VideoStreamingThread extends Thread {
|
||||
return SingletonHolder.INSTANCE;
|
||||
}
|
||||
|
||||
public VideoStreamingThread setToaster(Toaster toaster){
|
||||
/*public VideoStreamingThread setToaster(Toaster toaster){
|
||||
this.toaster = toaster;
|
||||
return this;
|
||||
}
|
||||
}*/
|
||||
|
||||
public void addNetworkConnectionListener(NetworkConnectionListener listener){
|
||||
netListener = listener;
|
||||
}
|
||||
|
||||
private void toast(String message){
|
||||
/*private void toast(String message){
|
||||
if(toaster != null)
|
||||
toaster.showShortToast(message);
|
||||
}
|
||||
}*/
|
||||
|
||||
public void startStreaming(){
|
||||
if(!protocolStarted){
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".startStreaming() :: Requesting protocol start.");
|
||||
synchronized(protocolPauseMonitor){
|
||||
protocolStarted = true;
|
||||
protocolState = ProtocolState_t.SEND_CONTINUE;
|
||||
//protocolState = ProtocolState_t.SEND_CONTINUE;
|
||||
protocolPauseMonitor.notifyAll();
|
||||
}
|
||||
}
|
||||
@@ -115,7 +112,7 @@ public class VideoStreamingThread extends Thread {
|
||||
public void pauseStreaming(){
|
||||
if(protocolStarted){
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".pauseStreaming() :: Requesting protocol pause.");
|
||||
pauseProtocol = true;
|
||||
//pauseProtocol = true;
|
||||
}else
|
||||
return;
|
||||
}
|
||||
@@ -124,7 +121,7 @@ public class VideoStreamingThread extends Thread {
|
||||
if(protocolStarted){
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".resumeStreaming() :: Requesting protocol resume.");
|
||||
synchronized(protocolPauseMonitor){
|
||||
pauseProtocol = false;
|
||||
//pauseProtocol = false;
|
||||
protocolPauseMonitor.notifyAll();
|
||||
}
|
||||
}else
|
||||
@@ -134,7 +131,7 @@ public class VideoStreamingThread extends Thread {
|
||||
public void finishStreaming(){
|
||||
if(protocolStarted){
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".finishStreaming() :: Requesting protocol end.");
|
||||
endProtocol = true;
|
||||
//endProtocol = true;
|
||||
}else
|
||||
return;
|
||||
}
|
||||
@@ -312,7 +309,7 @@ public class VideoStreamingThread extends Thread {
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".run() :: Thread finished.");
|
||||
}*/
|
||||
|
||||
private void receiveImage(){
|
||||
/*private void receiveImage(){
|
||||
Object tmpMessage;
|
||||
VideoFrameDataMessage dataMessage;
|
||||
|
||||
@@ -337,7 +334,7 @@ public class VideoStreamingThread extends Thread {
|
||||
}else{
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".run() :: Received something unknown.");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
private int byteArray2Int(byte[] array){
|
||||
int number = 0;
|
||||
@@ -418,26 +415,28 @@ public class VideoStreamingThread extends Thread {
|
||||
public void run(){
|
||||
int frames = 0;
|
||||
// Listen on the server socket until a client successfully connects.
|
||||
do{
|
||||
/*do{
|
||||
try{
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".run() :: Listening for client.");
|
||||
client = server.accept();
|
||||
if(netListener != null)
|
||||
netListener.networkStreamConnected(THREAD_NAME);
|
||||
writer = new ObjectOutputStream(client.getOutputStream());
|
||||
//writer = new ObjectOutputStream(client.getOutputStream());
|
||||
reader = new ObjectInputStream(client.getInputStream());
|
||||
toast("Client connected");
|
||||
}catch(IOException io){
|
||||
Gdx.app.error(TAG, CLASS_NAME + ".run() :: Error accepting client: " + io.getMessage(), io);
|
||||
client = null;
|
||||
}
|
||||
}while(client != null && !client.isConnected());
|
||||
}while(client != null && !client.isConnected());*/
|
||||
|
||||
then = System.currentTimeMillis();
|
||||
|
||||
while(!done){
|
||||
//receiveImage();
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".run() :: Receiving.");
|
||||
if(netListener != null)
|
||||
netListener.networkStreamConnected(THREAD_NAME);
|
||||
receiveUdp();
|
||||
frames++;
|
||||
now = System.currentTimeMillis();
|
||||
|
Reference in New Issue
Block a user