aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes
Commit message (Collapse)AuthorAgeFilesLines
* FFMPEGMediaPlayer: Add AudioSink interface.Xerxes Rånby2013-06-195-55/+235
| | | | | | | | | Use ALAudioSink when available and fallback to JavaSoundAudioSink when JOAL are not found on classpath. Java Sound playback moved from FFMPEGMediaPlayer into JavaSoundAudioSink. Signed-off-by: Xerxes Rånby <[email protected]>
* Merge remote-tracking branch 'xranby/github/FFMPEGMediaPlayer-audio' into ↵Xerxes Rånby2013-06-192-13/+163
|\ | | | | | | FFMPEGMediaPlayer
| * FFMPEGMediaPlayer: Limit video sync delay to 47ms in order to fix audio ↵Xerxes Rånby2013-05-121-2/+2
| | | | | | | | | | | | buffer underrun. Signed-off-by: Xerxes Rånby <[email protected]>
| * FFMPEGMediaPlayer: Poor mans audio/video sync.Xerxes Rånby2013-05-121-12/+98
| | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| * FFMPEGMediaPlayer: blocking Java Sound outputXerxes Rånby2013-05-101-16/+17
| |
| * partial implementation of Java Sound outputXerxes Rånby2013-05-101-0/+51
| |
| * FFMPEGMediaPlayer: Add updateSound callback for passing decoded jni audio ↵Xerxes Rånby2013-05-101-0/+3
| | | | | | | | | | | | frames to java. Signed-off-by: Xerxes Rånby <[email protected]>
| * FFMPEGMediaPlayer: Workaround forward seek delay caused by video sync.Xerxes Rånby2013-05-101-1/+1
| | | | | | | | | | | | Prevent the video sync code to delay a frame more than 1 second. Signed-off-by: Xerxes Rånby <[email protected]>
| * FFMPEGMediaPlayer: Workaround dropped video frames while decoding audio.Xerxes Rånby2013-05-101-1/+9
| | | | | | | | | | | | | | A temporal solution before we implement video decode and frame cache in a separate thread. Signed-off-by: Xerxes Rånby <[email protected]>
| * FFMPEGMediaPlayer: Lookup decoded audio data_size using ↵Xerxes Rånby2013-05-101-3/+4
| | | | | | | | | | | | av_samples_get_buffer_size Signed-off-by: Xerxes Rånby <[email protected]>
* | Add optional JOAL dependency, enabling JOAL usage for our 'av' package. ↵Sven Gothel2013-06-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: May be relocated to external project later! Assumption: gluegen/ joal/ jogl/ For OpenAL / JOAL code: - use the package jogamp.opengl.openal (like jogamp.opengl.android) - will be build _before_ the other 2nd pass java files - do not expose OpenAL/JOAL APIs, if being used by other packages, since only this package is being compiled w/ JOAL jar files!
* | GLDynamicLibraryBundleInfo.shallLinkGlobal(): Defaults to 'true' now, ↵Sven Gothel2013-06-184-34/+19
| | | | | | | | | | | | | | | | allowing to remove specialized values. - Windows always used global - The OpenGL library is always available by all processes system wide. - Tested on OSX (was using local, previously).
* | Fix Bug 735: GLAutoDrawable must issue glViewport(..) even w/o ↵Sven Gothel2013-06-171-14/+21
| | | | | | | | | | | | | | | | | | | | | | GLEventListener ; Optimize GLDrawableHelper's glViewportCall(..) GLAutoDrawable must issue glViewport(..) even w/o GLEventListener - Same behavior w/ or w/o GLEventListener requires to issue glViewport, always. Optimize GLDrawableHelper's glViewportCall(..) - 'private void init(..)' receives 'setViewport' argument to be passed to 'private void reshape(..)' allowing to only the the viewport once @ 'public void init(..)' and display.
* | Fix Bug 753: Stuttering caused by lack of GL resource synchronization ↵Sven Gothel2013-06-171-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | between Java GL- and CALayer thread ; Simplify / Fix waitUntilRenderSignal(). Stuttering caused by lack of GL resource synchronization between Java GL- and CALayer thread + // Required(?) to finish previous GL rendering to give CALayer proper result, + // i.e. synchronize both threads each w/ their GLContext sharing same resources. + // + // FIXME: IMHO this synchronization should be implicitly performed via 'CGL.flushBuffer(contextHandle)' above, + // in case this will be determined a driver bug - use a QUIRK entry in GLRendererQuirks! + gl.glFinish(); Simplify / Fix waitUntilRenderSignal() - remove loop and 'ready' condition -> nonsense - if too later, i.e. lastWaitTime+TO < now, use now+TO as max. vsync waiting time Bug735 Tests: - Make vsync, wait and ECT (exclusive context thread) configurable via main args. - Inv2*, Inv3* and Inv4*: Fluent Animation - Works w/ ECT
* | GLFBODrawableImpl: Fix swap criteria, i.e. don't swap in ↵Sven Gothel2013-06-172-10/+18
| | | | | | | | contextMadeCurrent(false) if already swapped by swapBuffersImpl(..), but always swap in swapBuffersImpl(..) if ctx is current and associated.
* | ES3.0 GLContext: Handle ES3.0 GLSL Version Number - Static detection and ↵Sven Gothel2013-06-161-9/+22
| | | | | | | | 'es' suffix.
* | MacOSXCGLContext: Use final qualifier for CGL.CGLLockContext(cglCtx) result.Sven Gothel2013-06-161-1/+1
| |
* | GLDrawableHelper Perf.: Branch into execGLRunnables(..) only if ↵Sven Gothel2013-06-161-17/+15
| | | | | | | | glRunnables.size()>0
* | Fix Bug 745: NPE - QTT definition shall be allowd to _follow_ SOF (frame) - ↵Sven Gothel2013-06-141-19/+53
| | | | | | | | Reference QTT via QTT[] passed to frame, validate after parsing.
* | Mitigate Bug 728: Java Web Start Shutdown: Exception ↵Sven Gothel2013-06-131-1/+9
| | | | | | | | | | | | | | | | | | "java.lang.IllegalStateException: zip file closed" on OSX 10.8.3 and Java 1.7.0_17 OS version: Mac OS X 10.8.3 Java version: 1.7.0_17 Catch any occuring exception at GLDrawable shutdown, report them briefly and verbose w/ DEBUG enabled.
* | Fix my sloppy commit f50caa5241b5eef286e8c10b74b5297e5821da2b: Didn't intend ↵Sven Gothel2013-06-121-2/+2
| | | | | | | | to take out the commented out 'final', but to enable the qualifier. Duh! Thank's to Harvey (again) for catching my odd work!
* | VectorUtil, Quaternion: Use 'final' qualifier if possibleSven Gothel2013-06-122-53/+53
| |
* | Merge remote-tracking branch 'remotes/hharrison/pr743'Sven Gothel2013-06-121-204/+239
|\ \
| * | Quaternion.java : fixed not clear assignmentPetr Skramovsky2013-06-051-2/+3
| | |
| * | new method for vector multiplication, new copy constructorPetr Skramovsky2013-06-051-0/+28
| | |
| * | fixed isIdentity method, deprecated isEmpty method (quaternion doesn't have ↵Petr Skramovsky2013-06-051-13/+39
| | | | | | | | | | | | such a property + method do same thing as isIdentity), new setIdentity method, default constructor sets this quaternion to identity, new fromAxis method/costructor
| * | removed unnecessary castings, removed unnecessary methods for vector ↵Petr Skramovsky2013-06-051-58/+11
| | | | | | | | | | | | operations changed to VectorUtil instead
| * | reformatted to same stylePetr Skramovsky2013-06-051-180/+207
| | |
* | | FontConstructor: Hide the exposed strings and add them in class API doc to ↵Sven Gothel2013-06-121-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | minimize footprint. Review of Harvey. Since accessing the static final exposed strings would trigger static initialization, setting the properties this way would not work anyways (if not inlined ..). Well.
* | | GLContext: Make 'deviceVersion' fields final. Reviewed by Harvey.Sven Gothel2013-06-121-2/+2
| | |
* | | Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456Sven Gothel2013-06-114-19/+23
| | |
* | | Fix Bug 748 - PMVMatrix gluProject and gluUnProject broken w/ backingArray ↵Sven Gothel2013-06-091-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | (default) ; Also: Use FloatUtil in-place multMatrixf. PMVMatrix gluProject(..) and gluUnProject(..) don't pass their position (offset) to the multMatrixf operation - even though they are sliced. The API doc actually emphasizes this.
* | | FloatUtil: Add in-place multMatrixf (since we mult line by line, we can ↵Sven Gothel2013-06-091-0/+51
| | | | | | | | | | | | multiply in place). Will be used by PMVMatrix.
* | | Bug 747: Allow usage of IdentityHashMap w/ keys: ↵Sven Gothel2013-06-091-12/+16
|/ / | | | | | | | | | | AbstractGraphicsDevice.getUniqueID() and GLContext.getDeviceVersionAvailableKey() .. both value classes unique, long lived and rare.
* | GLVersionNumber.createVendorVersion(): Only test match result and ↵Sven Gothel2013-05-315-50/+120
| | | | | | | | potentially continue matching if having a pattern-match (don't loop for-ever).
* | Complete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): Set ↵Sven Gothel2013-05-311-8/+8
| | | | | | | | | | | | 'valid' flag, always set major/minor and strEnd. Also: Add negative tests to unit test.
* | GLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit ↵Sven Gothel2013-05-312-86/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 959d6d83ec26152343d538287c02eeebf0dcf238 Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238: - Use only RegExp and cache default (no wrapped whitespace tokenizer) - String match: Store end-of-match and flag defined components. - Remove manual parsing, utilize VersionNumber - No need to look further for 'updated' GL version, (probably the vendor version), since we utilize the ARB version number as set at creation. Fix vendor version parser: - Cut off GL version part of versionString (fixes case where GL version was interpreted as vendor version) - Loop through remaining string until a valid version number w/ major.minor has been found
* | Fix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug 711): ↵Sven Gothel2013-05-187-8/+9
| | | | | | | | | | | | | | | | | | | | varying in/out mapping is different in vertex/fragment shader! Vertex shader: varying -> out Fragemnt shader: varying -> in NV GLSL compiler ignored in/out direction, where ATI GLSL compiler failed (could not find gcu_Weight, due to dead code).
* | Fix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in ↵Petr Skramovsky2013-05-171-0/+2
| | | | | | | | GLArrayDataWrapper.getBufferClass()
* | GLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work ↵Sven Gothel2013-05-172-15/+9
| | | | | | | | properly; GLJPanel: Rely on GLPixelBuffer.requiresNewBuffer(..) for each frame, don't use local pixelBufferCheckSize (buggy w/ singleton)
* | JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall ↵Sven Gothel2013-05-172-2/+4
| | | | | | | | not throw an exception -> avoid calling useProgram(.., false).
* | GLSL version determination: Use static GLSL version mapping in case of GLES ↵Sven Gothel2013-05-171-1/+1
| | | | | | | | - Mesa 9.1* fails otherwise since it supports ES3/300 which is returned.
* | Fix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL ↵Sven Gothel2013-05-1723-209/+122
| | | | | | | | version, following all other internal GLSL usage utilizing ShaderCode.
* | Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL ↵Sven Gothel2013-05-176-32/+138
|/ | | | Spec [1.30 - 1.40].
* Fix Bug 731: GLJPanel: Access global GLPixelBuffer via ↵Sven Gothel2013-05-093-34/+97
| | | | SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.
* Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - ↵Sven Gothel2013-05-081-1/+1
| | | | | | | GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots: <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>
* Refactor: TextureData's PixelAttributes/PixelBufferProvider -> ↵Sven Gothel2013-05-087-295/+651
| | | | | | | | | | | | | | | | | | | | | | | GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience, hence extract them to package 'com.jogamp.opengl.util'. - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e. GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH. See GLReadBufferUtil and GLJPanel - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested. GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. - Use GLPixelBuffer API to remove redundancies - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space for BuffereImage and IntBbuffer (readBack) Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not) a singlton SingleAWTGLPixelBufferProvider.
* GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). ↵Sven Gothel2013-05-081-69/+163
| | | | Better namings for vars, i.e. compCount, .. etc
* Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 ↵Sven Gothel2013-05-081-0/+1
| | | | | | in their own color. Note: JComponent will introduce flickering if using opaque rendering mode!
* GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; ↵Sven Gothel2013-05-084-27/+55
| | | | | | PixelBufferProvider: Add 'dispose()' to interface. Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.