From 4cb3763415bb5f82520fd02f56412076f80a84e6 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 30 Aug 2013 17:31:34 +0200 Subject: GLMediaPlayer enhancements: State, Camera options, detect and act on orientation change (flipped), API-doc, - State - Fix state transition (initGL() error) - Camera options - options uses ';' as query separator - don't use 'default' options, driver should know - Detect and act on orientation change (flipped) - ffmpeg impl detects if flipped changes and triggers a SIZE update event. This allows application to react, i.e. re-init GL and use new TextureCoord's. Test: Works well on Windows w/ rawvideo dshow camera driver/codec. - API-doc - TexSeqEventListener/GLMediaEventListener usage / constraints (GL, ..) - State transition fix --- .../opengl/util/texture/TextureSequence.java | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java') 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 8b6cc1bf9..5c6b63535 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java @@ -28,7 +28,9 @@ package com.jogamp.opengl.util.texture; import javax.media.opengl.GL; - +import javax.media.opengl.GLAutoDrawable; +import javax.media.opengl.GLRunnable; +import javax.media.opengl.GLEventListener; import com.jogamp.opengl.util.TimeFrameI; /** @@ -128,6 +130,25 @@ public interface TextureSequence { protected final Texture texture; } + /** + * Event listener to notify users of updates regarding the {@link TextureSequence}. + *

+ * The implementation sending the events, and hence calling down to all listeners, + * does not necessarily make the user's OpenGL context current. + *

+ *

+ * Further more, the call may happen off-thread, possibly holding another, possibly shared, OpenGL context current. + *

+ * Hence a user shall not issue any OpenGL, time consuming + * or {@link TextureSequence} lifecycle operations directly.
+ * Instead, the user shall: + * + *

+ * */ public interface TexSeqEventListener { /** * Signaling listeners that a new {@link TextureFrame} is available. -- cgit v1.2.3