Olá, eu estou usando o Ubuntu 7.04 com JDK1.6.02 e JMF 2.1.1e.
public void start() {
if (player == null) {
try {
player = Manager.createRealizedPlayer(deviceInfo.getLocator());
if (player != null) {
player.start();
control = (FrameGrabbingControl) player.getControl("javax.media.control.FrameGrabbingControl");
Thread workerThread = new Thread(new CameraWorker());
workerThread.setName("CameraWorker");
workerThread.start();
}
}
catch (IOException ex) {
Logger.getLogger().saveLog(ex.getMessage());
} catch (NoPlayerException ex) {
Logger.getLogger().saveLog(ex.getMessage());
} catch (CannotRealizeException ex) {
Logger.getLogger().saveLog(ex.getMessage());
}
}
}
public void stop() {
}
public void close() {
if (player != null) {
player.stop();
player.deallocate();
}
}
private class CameraWorker implements Runnable {
public void run() {
Buffer buffer = control.grabFrame();
Format format = buffer.getFormat();
Logger.getLogger().saveLog("Is format null? " + (format == null)); //NULL aqui, diacho!
}
}
{Postei só a parte relevante da classe}
Quando eu chamo o control.grabFrame() eu recebo um buffer com formato nulo, então não posso continuar com o processamento do buffer.
Idéias?