| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
-
|
| |
|
|
|
|
| |
optional OMX to fail to compile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Gong manual testing)
|
| |
|
|
|
|
| |
throw an exception - only dump DEBUG info!
|
|
|
|
|
|
| |
Make impl. methods final.
createDummyDrawable(..) is useful for efficient shared context w/o actually rendering to this dummy drawable's framebuffer
|
| |
|
| |
|
|
|
|
| |
tiny, using png)
|
|
|
|
| |
refine commit 3e4dac6373185a1a9061b394601221052b2bef84)
|
|
|
|
| |
(subject to be removed).
|
|
|
|
|
| |
Regression introduced by:
dba2faf8520a43a809eb756869c6c97a0a2ef2cd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |\ |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
such a property + method do same thing as isIdentity), new setIdentity method, default constructor sets this quaternion to identity, new fromAxis method/costructor
|
| | | |
| | | |
| | | |
| | | | |
operations changed to VectorUtil instead
|
| | | | |
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes OpenAL invalid argument error when trying to fill buffers.
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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 <xerxes@zafena.se>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There is still something wrong with the buffering part;
OpenAL will complain at runtime.
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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 <xerxes@zafena.se>
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
FFMPEGMediaPlayer
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
buffer underrun.
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
frames to java.
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Prevent the video sync code to delay a frame more than 1 second.
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
|