return didAlreadyInitWaitInvoke.get();
}
- public void newCameraFrameAvailable(CameraSmart _camera) {
- mainObj.newCameraFrameAvailable(_camera);
+ public void newCameraFrameAvailable(byte latestFrame[], long timeStamp) {
+ mainObj.newCameraFrameAvailable(latestFrame, timeStamp);
}
public void ___newCameraFrameAvailable() {
byte[] localMethodBytes = methodBytes;
rmiComm.setGetMethodBytes();
- Object[] paramObj = rmiComm.getMethodParams(new Class<?>[] { int[].class }, new Class<?>[] { null }, localMethodBytes);
- try {
- int[] stubIdArray0 = (int[]) paramObj[0];
- int objIdRecv0 = stubIdArray0[0];
- CameraSmart newStub0 = null;
- if(!IoTRMIUtil.mapStub.containsKey(objIdRecv0)) {
- newStub0 = new CameraSmart_Stub(rmiComm, objIdRecv0);
- IoTRMIUtil.mapStub.put(objIdRecv0, newStub0);
- rmiComm.setObjectIdCounter(objIdRecv0);
- rmiComm.decrementObjectIdCounter();
- }
- else {
- newStub0 = (CameraSmart_Stub) IoTRMIUtil.mapStub.get(objIdRecv0);
- }
- CameraSmart stub0 = newStub0;
- newCameraFrameAvailable(stub0);
- } catch(Exception ex) {
- ex.printStackTrace();
- throw new Error("Exception from callback object instantiation!");
- }
+ Object[] paramObj = rmiComm.getMethodParams(new Class<?>[] { byte[].class, long.class }, new Class<?>[] { null, null }, localMethodBytes);
+ newCameraFrameAvailable((byte[]) paramObj[0], (long) paramObj[1]);
}
public void ___waitRequestInvokeMethod() throws IOException {
catch (Exception ex) {
ex.printStackTrace();
}
- //System.out.println("Thread done!");
}
}.start();
break;
*
* @return [void] None.
*/
- //public void newCameraFrameAvailable(byte[] latestFrame, long timeStamp) {
- public void newCameraFrameAvailable(CameraSmart _camera) {
+ public void newCameraFrameAvailable(byte[] latestFrame, long timeStamp) {
+ //public void newCameraFrameAvailable(CameraSmart _camera) {
BufferedImage img = null;
- // Parse the byte array into a Buffered Image
- byte[] newImg = _camera.getLatestFrame();
+ //byte[] newImg = _camera.getLatestFrame();
try {
//InputStream in = new ByteArrayInputStream(_camera.getLatestFrame());
- //InputStream in = new ByteArrayInputStream(latestFrame);
- InputStream in = new ByteArrayInputStream(newImg);
+ //InputStream in = new ByteArrayInputStream(newImg);
+ // Parse the byte array into a Buffered Image
+ InputStream in = new ByteArrayInputStream(latestFrame);
img = ImageIO.read(in);
} catch (RemoteException e) {
latestImage = img; // image into image buffer
// timestamp from camera into timestamp buffer
- //long dateLong = timeStamp;
- long dateLong = _camera.getTimestamp();
+ long dateLong = timeStamp;
+ //long dateLong = _camera.getTimestamp();
//System.out.println("dateLong: " + dateLong + " - newImage size: " + newImg.length);
possibleDate = new Date(dateLong);
// calculate the percentage of the image that was in motion
double percentMotion = (countMotion / count) * 100.0;
- System.out.println("countMotion: " + countMotion);
- System.out.println("count: " + count);
- System.out.println("Percent motion: " + percentMotion);
+ //System.out.println("countMotion: " + countMotion);
+ //System.out.println("count: " + count);
+ //System.out.println("Percent motion: " + percentMotion);
// Check if a high enough percentage of the image was in motion to say that there was motion in this frame of data
if (percentMotion > MOTION_DETECTED_THRESHOLD_PERCENTAGE) {
for (CameraSmartCallback c : callbackList) {
- //c.newCameraFrameAvailable(this.getLatestFrame(), this.getTimestamp());
- c.newCameraFrameAvailable(this);
+ c.newCameraFrameAvailable(this.getLatestFrame(), this.getTimestamp());
+ //c.newCameraFrameAvailable(this);
}
} else {
objectId = _objectId;
}
- public void newCameraFrameAvailable(Camera _camera) {
- int[] objIdSent0 = new int[1];
- try {
- if (!IoTRMIUtil.mapSkel.containsKey(_camera)) {
- int newObjIdSent = rmiComm.getObjectIdCounter();
- objIdSent0[0] = newObjIdSent;
- rmiComm.decrementObjectIdCounter();
- Camera_Skeleton skel0 = new Camera_Skeleton(_camera, rmiComm, newObjIdSent);
- IoTRMIUtil.mapSkel.put(_camera, skel0);
- IoTRMIUtil.mapSkelId.put(_camera, newObjIdSent);
- Thread thread = new Thread() {
- public void run() {
- try {
- skel0.___waitRequestInvokeMethod();
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new Error("Exception when trying to run ___waitRequestInvokeMethod() for Camera_Skeleton!");
- }
- }
- };
- thread.start();
- while(!skel0.didAlreadyInitWaitInvoke());
- }
- else
- {
- int newObjIdSent = IoTRMIUtil.mapSkelId.get(_camera);
- objIdSent0[0] = newObjIdSent;
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new Error("Exception when generating skeleton objects!");
- }
-
+ public void newCameraFrameAvailable(byte latestFrame[], long timeStamp) {
int methodId = 0;
Class<?> retType = void.class;
- Class<?>[] paramCls = new Class<?>[] { int[].class };
- Object[] paramObj = new Object[] { objIdSent0 };
+ Class<?>[] paramCls = new Class<?>[] { byte[].class, long.class };
+ Object[] paramObj = new Object[] { latestFrame, timeStamp };
rmiComm.remoteCall(objectId, methodId, paramCls, paramObj);
}
package iotcode.interfaces;
public interface CameraCallback {
- //public void newCameraFrameAvailable(byte latestFrame[], long timeStamp);
- public void newCameraFrameAvailable(CameraSmart _camera);
+ public void newCameraFrameAvailable(byte latestFrame[], long timeStamp);
+ //public void newCameraFrameAvailable(CameraSmart _camera);
}
public interface CameraSmartCallback {
- //public void newCameraFrameAvailable(byte latestFrame[], long timeStamp);
- public void newCameraFrameAvailable(Camera _camera);
+ public void newCameraFrameAvailable(byte latestFrame[], long timeStamp);
+ //public void newCameraFrameAvailable(Camera _camera);
}