summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Provide unit test for Bug 817Sven Gothel2013-08-161-0/+109
|
* SyncedRingbuffer: Add 'reset(boolean full)', simplify 'clear(..)'.Sven Gothel2013-08-151-12/+20
| | | | | 'reset(boolean full)' enables user to reset ringbuffer pointer and assume it's empty or full, while 'clear()' shall only remove all references .. etc.
* Fix Bug 815: GL*: Change glIs<Buffer>Enabled() -> glIs<Buffer>Bound() to ↵Sven Gothel2013-08-148-84/+84
| | | | | | | | | | | | | | | | reflect semanics - Also fix the exception message (enabled/disabled -> bound/unbound) Reason of change: Avoid confusion and point to the cause! API change: glIsVBOArrayEnabled() -> glIsVBOArrayBound() glIsVBOElementArrayEnabled() -> glIsVBOElementArrayBound() glIsPBOPackEnabled() -> glIsPBOPackBound() glIsPBOUnpackEnabled() -> glIsPBOUnpackBound() Exception message change: "must be enabled to call this method" -> "must be bound to call this method" "must be disabled to call this method" -> "must be unbound to call this method"
* GLMediaPlayer Multithreaded Decoding: GLMediaPlayer* (Part-3) - WIPSven Gothel2013-08-1418-618/+1283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - GLMediaPlayer - Remove State.Stopped and method stop() - redundant, use pause() / destroy() - Add notion of stream IDs - Add API doc: State / Stream-ID incl. html-anchor - Expose video/audio PTS, .. - Expose optional AudioSink - Min multithreaded textureCount is 4 (EGL* and FFMPEG*) - GLMediaPlayerImpl - Move AudioSink rel. impl. to this class, allowing a tight video implementation reusing logic. - Remove 'synchronized' methods, synchronize on State where applicable - implement new methods (see above) - playSpeed is handled partially in AudioSink. If it exeeds AudioSink's capabilities, drop audio and rely solely on video sync. - video sync (WIP) - video pts delay based on geometric weight - reset video SCR if 'out of range', resync w/ PTS - - FramePusher - allow interruption when pausing/stopping, while waiting for next avail free frame to decode. - FFMPEGMediaPlayer - Add proper AudioDataFormat negotiation AudioSink <-> libav - Parse libav's SampleFormat - Remove AudioSink interaction (moved to GLMediaPlayerImpl) - Tests (MovieSimple, MovieCube): - Add aid/vid selection - Add KeyListener for actions: seek(..), play()/pause(), setPlaySpeed(..) - Dump perf-string each 2s - TODO: - Add audio sync in AudioSink, similar to GLMediaPlayer's weighted video delay, here: drop audio frames.
* GLMediaPlayer Multithreaded Decoding: AudioSink (Part-2) - WIPSven Gothel2013-08-145-196/+601
| | | | | | | | | | | | | | | | | | | | | | | | | | | - AudioSink.AudioDataFormat - add fixedP (fixed-point or floating-point) - AudioSink - rename 'buffer count' to 'frame count' - add setPlaySpeed(..) - add isPlaying() - add play() - add pause() - add flush() - add: getFrameCount(), getQueuedFrameCount(), getFreeFrameCount(), getEnqueuedFrameCount(), - rename: writeData() -> enqueueData(..) - ALAudioSink - multithreaded usage - make ALCcontext current per thread, now required for multithreaded use Use RecursiveLock encapsulating the ALCcontext's makeCurrent/release/destroy, since the native operations seem to be buggy. NOTE: Think about adding these general methods to ALCcontext - implement new methods -
* SyncedRingbuffer: peek() don't throw an exceptionSven Gothel2013-08-141-2/+4
|
* Fix regression of commit 6332e13b2f0aa9818d37802302f04c90a4fa4239 causing ↵Sven Gothel2013-08-143-5/+7
| | | | optional OMX to fail to compile
* GLMediaPlayer: Add multithreaded decoding w/ textureCount > 2 where ↵Sven Gothel2013-08-1018-514/+798
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | available EGL/FFMPeg. WIP! Off-thread decoding: If validated (impl) textureCount > 2, decoding happens on extra thread. If decoding requires GL context, a shared context is created for decoding thread. API Changes: - initGLStream(..): Adds 'textureCount' as argument. - TextureSequence.TexSeqEventListener.newFrameAvailable(..) exposes the new frame available - TextureSequence.TextureFrame exposes the PTS (video) Implementation: - 'int validateTextureCount(int)': implementation decides whether textureCount can be > 2, i.e. off-thread decoding allowed, default is NO w/ textureCount==2! - 'boolean requiresOffthreadGLCtx()': implementation decides whether shared context is required for off-thread decoding - 'syncFrame2Audio(TextureFrame frame)': implementation shall handle a/v sync, due to audio stream details (pts, buffered frames) - FFMPEGMediaPlayer extends GLMediaPlayerImpl, no more EGLMediaPlayerImpl (redundant) +++ - SyncedRingbuffer: Expose T[] array +++ TODO: - syncAV! - test Android
* ES2 NEWT Tests: GearsES2/RedSquareES2 - Don'w use AWTRobot if AWT is n/a (Ji ↵Sven Gothel2013-08-102-2/+8
| | | | Gong manual testing)
* MouseEvent API doc: Add W3C PointerEvent ReferenceSven Gothel2013-08-101-0/+3
|
* GLFBODrawableImpl.initialize(): Unrealize when already unrealized shall not ↵Sven Gothel2013-08-101-1/+8
| | | | throw an exception - only dump DEBUG info!
* GLDrawableFactory: Expose createDummyDrawable(..) / GLDrawableFactoryImpl: ↵Sven Gothel2013-08-102-11/+44
| | | | | | Make impl. methods final. createDummyDrawable(..) is useful for efficient shared context w/o actually rendering to this dummy drawable's framebuffer
* GLContext: Refine API doc (CONTEXT_NOT_CURRENT.. values) / Exception messageSven Gothel2013-08-102-5/+5
|
* Use uml's png files (svg font is broken)qun2013-07-232-5/+5
|
* Fix GLES3/GLES2 relation / Use bouml 4.21.1 (Note: SVG fonts .. are too ↵qun2013-07-2364-1941/+1502
| | | | tiny, using png)
* Movie JNLP/NAppletAdd: joal jar file shall come before jogl's (dependency - ↵v2.0.2Sven Gothel2013-07-202-4/+4
| | | | refine commit 3e4dac6373185a1a9061b394601221052b2bef84)
* FFMPEGMediaPlayer: Cleanup AudioPusher 'usage', i.e. disabled for now ↵Sven Gothel2013-07-202-66/+73
| | | | (subject to be removed).
* FFMPEGMediaPlayer: Fix yuv stored in alpha shader decode on ES2 and GL2Xerxes Rånby2013-07-201-8/+11
| | | | | Regression introduced by: dba2faf8520a43a809eb756869c6c97a0a2ef2cd
* Movie JNLP/NAppletAdd: Add joal jar fileSven Gothel2013-07-192-0/+4
|
* FFMPEGPlayer Audio Sink Refactoring ..Sven Gothel2013-07-1917-358/+1222
| | | | | | | | | | | | | | | | - AudioSink w/ AudioFrame and formats public - ALAudioSink uses a circular buffer now, hence relaxes the one-threaded player mode - FFMPEGMediaPlayer uses multiple audio frames (equal to the ALAudioSink number) and wraps data to NIO buffer w/o copy. - FFMPEGMediaPlayer audio threading currently disabled: distorted sound Seems that the ALAudioSink's circular buffer usage is good enough for now. - Verbosity only w/ DEBUG flag - New SyncedRingbuffer for effcient synced buffering
* Doc: Overview/Evol .. embedded sizeSven Gothel2013-07-181-1/+1
|
* UML: Fix 'core' layout - more similar to 'all'Sven Gothel2013-07-1815-170/+161
|
* Doc: Overview/Evol: Fix embedded size / UML: Fix file attribsSven Gothel2013-07-1862-1/+1
|
* UML Doc: Fix separator ..Sven Gothel2013-07-186-382/+380
|
* UML Doc: Fix separator ..Sven Gothel2013-07-186-296/+296
|
* UML Doc: Fix alignment / separator ..Sven Gothel2013-07-1865-465/+481
|
* API doc: Use paragraph instead of manual line break ..Sven Gothel2013-07-181-6/+6
|
* WWW: Added JOGL spec link, fixed grammar .Sven Gothel2013-07-181-8/+7
|
* Doc: Update UML diagram and 'Overview-OpenGL-Evolution-And-JOGL'Sven Gothel2013-07-1867-1021/+2413
|
* Merge remote-tracking branch 'petr-s/pr744'Sven Gothel2013-07-175-21/+223
|\
| * Fix Bug 744: Added support of RLE encoded .tgaPetr Skramovsky2013-07-174-21/+223
| |
| * Merge remote-tracking branch 'upstream/master'Petr Skramovsky2013-07-17516-20531/+33489
| |\
| * \ Merge branch 'master' of https://github.com/petr-s/joglPetr Skramovsky2013-06-050-0/+0
| |\ \
| | * | Quaternion.java : fixed not clear assignmentPetr Skramovsky2013-06-041-2/+3
| | | |
| | * | new method for vector multiplication, new copy constructorpetrs2013-06-021-0/+28
| | | |
| | * | fixed isIdentity method, deprecated isEmpty method (quaternion doesn't have ↵petrs2013-06-021-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 ↵petrs2013-06-021-58/+11
| | | | | | | | | | | | | | | | operations changed to VectorUtil instead
| | * | reformatted to same stylepetrs2013-06-021-180/+207
| | | |
* | | | Merge remote-tracking branch 'xranby/FFMPEGMediaPlayer'Sven Gothel2013-07-177-34/+537
|\ \ \ \
| * | | | 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]>