summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* ALAudioSink: Reduce exessive CPU usage caused by polling alGetSourcei.Xerxes Rånby2013-07-161-0/+8
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* FFMPEGMediaPlayer: Only instance ALAudioSink if JOAL is found on the classpath.Xerxes Rånby2013-07-161-7/+15
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* AudioSink: interface add isAudioSinkAvailableXerxes Rånby2013-06-245-6/+16
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* ALAudioSink: Fill buffers before sourcing them.Xerxes Rånby2013-06-241-1/+0
| | | | | | Fixes OpenAL invalid argument error when trying to fill buffers. Signed-off-by: Xerxes Rånby <[email protected]>
* Merge remote-tracking branch 'xranby-github/FFMPEGMediaPlayer'Xerxes Rånby2013-06-247-34/+512
|\ | | | | | | | | | | | | | | Conflicts: src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java Signed-off-by: Xerxes Rånby <[email protected]>
| * ALAudioSink: Buffer and playback audio data.Xerxes Rånby2013-06-201-22/+80
| | | | | | | | | | | | | | There is still something wrong with the buffering part; OpenAL will complain at runtime. Signed-off-by: Xerxes Rånby <[email protected]>
| * 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-193-33/+273
| |\ | | | | | | | | | FFMPEGMediaPlayer
| | * FFMPEGMediaPlayer: fix audio pts for varying audio frame format.Xerxes Rånby2013-05-121-1/+1
| | | | | | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| | * 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-122-18/+130
| | | | | | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| | * FFMPEGMediaPlayer: blocking Java Sound outputXerxes Rånby2013-05-102-20/+23
| | |
| | * 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-102-1/+16
| | | | | | | | | | | | | | | | | | 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: Decode all frames inside video packet.Xerxes Rånby2013-05-101-5/+29
| | | | | | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| | * FFMPEGMediaPlayer: Lookup decoded audio data_size using ↵Xerxes Rånby2013-05-102-9/+22
| | | | | | | | | | | | | | | | | | av_samples_get_buffer_size Signed-off-by: Xerxes Rånby <[email protected]>
| | * FFMPEGMediaPlayer: Use the Audio codec to decode audio. Also prevent double ↵Xerxes Rånby2013-05-101-3/+5
| | | | | | | | | | | | | | | | | | free of packet memory. Signed-off-by: Xerxes Rånby <[email protected]>
| | * FFMPEGMediaPlayer: Decode audio frames.Xerxes Rånby2013-05-101-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-enable code to decode audio frame. Throw a runtime exception for unimplemented sp_avcodec_decode_audio3 fallback. Fix pts calculation to prevent division by zero caused by type truncation. Fix aPTS calculation to use valid data. Hide pts & aPTS info while running non-verbose. Signed-off-by: Xerxes Rånby <[email protected]>
* | | Fix NewtCanvasAWT focus traversal for Java7 (Take 2): Commit ↵Sven Gothel2013-06-232-12/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 70bf3a4ec44504b86294a332255aaae8d2e86bf4 was not sufficient. Commit 70bf3a4ec44504b86294a332255aaae8d2e86bf4 did not work out on Windows. Solution now gathers the next or previous 'to be focused' component, using the FocusTraversalPolicy of the visible/focusable/enabled container. Then we simply request it's focus. Works w/ Java7 on Linux and Windows.
* | | Fix NewtCanvasAWT focus traversal for Java7: All unit tests fail w/ Java7, ↵Sven Gothel2013-06-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | i.e. AWT Component's transferFocus() does nothing if component does not hold the focus. .. this seems to be violating the AWT 'spec' .. however. Workaround: Request focus before transfering it to the next/previous element.
* | | GLEmitter: Better use of priviledged block in generated ↵Sven Gothel2013-06-231-24/+20
| | | | | | | | | | | | GL*ProcAddressTable's isFunctionAvailableImpl(..), getAddressFor(..)
* | | Fix Regression of 889ba9488ca07b59fdcc378642a2dc20676d69a3: ↵Sven Gothel2013-06-231-1/+2
| | | | | | | | | | | | GLDebugMessageHandler GL Profile criteria for availability is wrong
* | | Fix Bug 761 (part 2/2): NEWT registers one customShutdownHook @ ↵Sven Gothel2013-06-235-36/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeWindowFactory.shutdownHook head, allowing proper resource cleanup. 1 WindowImpl.shutdownAll(): - For all instances: - mark invalid (causes any user thread to disregard the window) 2 ScreenImpl.shutdownAll(): - Removed own shutdown-hook! - For all instances: - Reset ScreenMonitorState 3 DisplayImpl.shutdownAll(): - For all instances: - Remove EDT - closeNativeImpl Manually tested on X11 w/ NV and ATI Catalyst (fglrx) - DFLAGS="-Djogl.debug.GLDrawable -Dnativewindow.debug.X11Util -Dnativewindow.debug.NativeWindow -Dnewt.debug.Display -Dnewt.debug.Screen -Dnewt.debug.Window" - java $DFLAGS com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT -time 2000 -sysExit testExit - valid arguments for sysExit: testExit, testError, displayExit, displayError
* | | Fix Bug 761 (part 1/2): Move GLDrawableFactory.shutdownHook -> ↵Sven Gothel2013-06-233-93/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeWindowFactory.shutdownHook, the latter handles customShutdownHooks for NativeWindow, JOGL and NEWT. Unifying our shutdown mechanism is required to provide a controlled shutdown sequence. NativeWindowFactory is chosen to be the new central entry point, since it is the lowest denominator (common module). - Move GLDrawableFactory.shutdownHook -> NativeWindowFactory.shutdownHook Reverse the shutdown dependency for clarity and availability to all modules, i.e. NEWT may not know about JOGL. Remove the 'gamma' shutdown hook, instead simply call GLDrawableFactoryImpl.resetDisplayGamma() before destroy. NativeWindowFactory.shutdownHook handles customShutdownHooks for NativeWindow, JOGL and NEWT - Modules can register their shutdown runnable at head or tail of list. - Allows controlled shutdown across all modules.
* | | GLWindow: Mention GLStateKeeper's GL state preservation in API docSven Gothel2013-06-231-2/+13
| | |
* | | NEWT/X11: Proper static initSingleton() sequence.Sven Gothel2013-06-233-5/+6
| | |
* | | X11Util: Fix comment on markAllDisplaysUnclosable semantics, add 'final', ↵Sven Gothel2013-06-231-8/+8
| | | | | | | | | | | | reorder globalLock/isJVMShuttingDown branch/sync
* | | AnimatorBase.setModeBits(..): Only issue initImpl() if required - and throw ↵Sven Gothel2013-06-233-9/+13
| | | | | | | | | | | | 'is started' exception in such case; Cleanup brackets.
* | | Fix Bug 759: Add quirk GLNonCompliant for Mesa AMD GL >= 3.1 renderer.Juan Camilo Prada2013-06-212-3/+13
| | |
* | | GL*ProcAddressTable: Fix regressions: getField(..) -> getDeclaredField(..), ↵Sven Gothel2013-06-214-26/+40
| | | | | | | | | | | | incl. access check; Move getAddressFor() from ctx -> private dbg-handler (sec); FFMPEGMediaPlayer: Missed fetching func-ptr 'glTexSubImage2D'.
* | | Security: Apply security changes from GlueGenSven Gothel2013-06-2120-114/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | GlueGen related commits - 23341a2df2d2ea36784a16fa1db8bc7385351a12 - 2d8e25398e929f553c4524e9c57f083d90ba4e08 - 8cabcd2de8b46c42dffcaaf46ccc2dc4d092ebba - f69831574d4927d03d40c330d0b047d8c89622a4 - eb842815498f5926828b49c48fffce22fc9586a2
* | | GL ProcAddressTable: Align w/ GlueGen commit ↵Sven Gothel2013-06-211-17/+41
|/ / | | | | | | f69831574d4927d03d40c330d0b047d8c89622a4 (checkAllLinkPermission() ..)
* | 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!
* | Refine 893cf0c8c32edf231dbf418d45d3181532d2402b: Partial revert and issue ↵Sven Gothel2013-06-183-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | forceRelayout at end of applet.start(); Cleanup AWTKeyAdapter. Refine 893cf0c8c32edf231dbf418d45d3181532d2402b: Partial revert and issue forceRelayout at end of applet.start(); - Seems the workaround of OSX CALayer positioning bug is timing dependent, i.e. stopped working when disabled DEBUG output. - Move NewtCanvasAWT creation and attachment back to init() - Issue extra forceRelayout (if OSX) at end of start() .. works 'most of the time'. Cleanup AWTKeyAdapter: Adapt code style of keyPressed() to keyReleased().
* | NewtCanvasAWT: Issue 'setFocusable(..)' at configureNewtChild(..)Sven Gothel2013-06-181-3/+4
| |
* | JOGLNewtApplet1Run: Defer 'newtCanvasAWT' creation and attachment to ↵Sven Gothel2013-06-181-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | applet.start() (only once), working around 'OS X' CALayer positioning bug. The NewtCanvasAWT workaround for the 'OS X' CALayer positioning bug(*) may only work if parent is not only dislayable, but also visible. (*): Workaround resizes the component 2x, forcing a relayout. ++ RequestFocus after setVisibile(true). +++ Clear references to glWindow, newtCanvasAWT @ destroy.
* | 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-173-19/+22
| | | | | | | | | | | | | | | | | | | | | | 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 regression of 31e72d2f2d953352b2a8c83368039ecca8139d49: Modifier SHIFT ↵Sven Gothel2013-06-171-2/+3
| | | | | | | | needs to be recognized (-> horiz. scroll)
* | Fix TestNewtKeyEventAutoRepeatAWT (Bug 688): Reduce head/tail event check to ↵Sven Gothel2013-06-171-16/+4
| | | | | | | | 2 events (Windows can't produce AR)
* | Fix Bug 688: Removal of NEWT KeyEvent.EVENT_KEY_TYPED and ↵Sven Gothel2013-06-177-28/+16
| | | | | | | | KeyListener.keyTyped(KeyEvent) - Part2: API Documentation and Comments
* | Fix Bug 688: Removal of NEWT KeyEvent.EVENT_KEY_TYPED and ↵Sven Gothel2013-06-1740-215/+133
| | | | | | | | KeyListener.keyTyped(KeyEvent)
* | Bug 735: Fix comment in test, since mystery is solved :)Sven Gothel2013-06-172-2/+4
| |
* | Solve Bug 735 Mystery: glViewport(..) was missing - duh :)Sven Gothel2013-06-172-0/+4
| |
* | Bug735: Bug735Inv0AppletAWT/Bug735Inv1AppletAWT tests: Use shader ↵Sven Gothel2013-06-172-6/+7
| | | | | | | | customization, no Clear required, .. (still don't work w/ CALAyer)
* | Fix Bug 753: Stuttering caused by lack of GL resource synchronization ↵Sven Gothel2013-06-1711-45/+3884
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | timespec.c/h: Add 'long timespec_microseconds(..)'Sven Gothel2013-06-172-0/+8
| |
* | 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.