diff options
author | Sven Gothel <[email protected]> | 2014-04-09 08:33:00 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-04-09 08:33:00 +0200 |
commit | 7ff2fcb36540aaed087e3a2ba2f0f84916bce2e2 (patch) | |
tree | 2e7cbc8c112ba47c476212eb728a4fa6ec040e2f /src/jogl/classes | |
parent | be8d0765317cdcb44bbe3016cc18273ecace9324 (diff) |
Add TextureSequence.isTextureAvailable(), allowing triggering action only when source becomes ready
Diffstat (limited to 'src/jogl/classes')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java | 6 | ||||
-rw-r--r-- | src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java index ab9d1f8f0..88f40e927 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java @@ -174,6 +174,12 @@ public interface TextureSequence { public int[] getTextureWrapST(); /** + * Returns true if texture source is ready <i>and</i> a texture is available + * via {@link #getNextTexture(GL)} and {@link #getLastTexture()}. + */ + public boolean isTextureAvailable(); + + /** * Returns the last updated texture. * <p> * In case the instance is just initialized, it shall return a <code>TextureFrame</code> diff --git a/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java b/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java index 6a0e0061f..63bb22d80 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java +++ b/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java @@ -737,6 +737,11 @@ public abstract class GLMediaPlayerImpl implements GLMediaPlayer { } @Override + public final boolean isTextureAvailable() { + return State.Paused == state || State.Playing == state; + } + + @Override public final TextureFrame getLastTexture() throws IllegalStateException { if( State.Paused != state && State.Playing != state ) { throw new IllegalStateException("Instance not paused or playing: "+this); |