@Override public void run() { // wait for start while (!started) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } started = player.getState() == Controller.Started; if (started) { break; } } // try to grab single image (wait 10 seconds) for (int i = 0; i < 100; i++) { Buffer buffer = grabber.grabFrame(); if (buffer.getLength() == 0) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } semaphore.release(); }
if (player.getState() >= Player.Realized)
int state = player.getState();