| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
released buffer count instead of polling
With wait == true, we simply wait until enough buffers have arrived,
otherwise take what we got - both w/o polling and querying the alSource.
|
|
|
|
| |
a simple sound source to test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ALCcontext recreation, ..
Context
- Recursive context locking (only 1st shall do native makeCurrent, only last shall do native release)
- Access to the current Context instance (thread local storage)
- Obey "One context can only be current on one thread,
and one thread can only have one context current!"
- ALCcontext recreation within lock, allowing to change native OpenAL specifics via attr list
- ALCcontext creation (initial) w/ attr list
Device
- Retrieve name if default name null has been given
- Expose device name
- Allow to open() again
Source
- Allow lazy creation w/ invalid ID
- Allow create() post instantiation (for a single source)
- Throw ALException in all queued buffer methods as they are crucial
in multithreading streaming.
- Add queue buffer with OpenAL buffer-id int[] arrays variant
to be used w/o Buffer
Listener
- Fix (get|set)Orientation() API doc: It's 'at' vector, then 'up' vector.
General:
- Have toString()
- Added versatile AudioSystem3D.check*Error(..)
Earlier Sound3D changes
- 7f73d50c90d05cf7388f23977ca956a4933019ad
- 64b40bd4359cad46ebf62751ea342d80205bd98b
|
|
|
|
| |
'avgFrameDuration') to avoid losing precision when dealing with stats, averages etc
|
|
|
|
|
|
| |
using actual OpenAL frame processing refresh value
Also pre-allocate sampleBuffer to 30ms actual format, using AudioFormat.getDurationsByteSize(..)
|
| |
|
| |
|
|
|
|
| |
`hasALC_thread_local_context`, benefitting from thread-local-context
|
|
|
|
|
|
|
|
|
|
|
| |
mix-and-match; Align Context makeCurrent/release w/ ALAudioSink ...
Align Context makeCurrent/release w/ ALAudioSink
- use ALC_EXT_thread_local_context if available
- use a recursive lock
- same release method as makeCurrent
- ALC_EXT_thread_local_context or traditional
- destroy also releases the context and fully unwinds lock
|
|
|
|
| |
and OpenAL paremeter. Can be 'plugged' into existing OpenAL logic.
|
| |
|
|
|
|
|
|
|
| |
if slept long enough but giving better threading perf for openal-soft
This with exclusive context gives us no distortion at 3x 12ms frames,
reduced from 3x 16ms. See Synth02AL.
|
|
|
|
| |
enhanced to a general synth solution
|
| |
|
|
|
|
| |
Test against OpenAL-Soft data >= 1.23.0
|
|
|
|
|
|
|
|
|
|
| |
byteCount (2nd arg) using IOUtil.copyStreamChunk2ByteBuffer(..)
This fix is inspired by Bug 1280, <https://github.com/sgothel/joal/pull/16>,
'copy only needed bytes' for JOAL's com.jogamp.openal.util.WAVData.loadFromStream(..).
This GlueGen IOUtil.copyStreamChunk2ByteBuffer() method is a revised version of the proposed IOHelpers.copyFromStream2ByteBuffer(..),
see <https://github.com/OndrejSpanel/joal/commit/1616659e98904270af4faca25b770d0983609735>
|
|
|
|
| |
remaining buffer. Copes with WAV files that have metadata appended to the end after the data RIFF chunk.
|
|
|
|
| |
d78bb1be0a6290cb94918b21865a023c01825048
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74)
- Change non static accesses to static members using declaring type
- Change indirect accesses to static members to direct accesses (accesses through subtypes)
- Add final modifier to private fields
- Add final modifier to method parameters
- Add final modifier to local variables
- Remove unnecessary casts
- Remove unnecessary '$NON-NLS$' tags
- Remove trailing white spaces on all lines
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use max 4k to test
- Remove redundant default device/context
- Add AL source and assign buffer
- issue buffer play
- Only fail if certain accuracy is not met
- Stereo 0.8 (passes w/ ~ 0.9)
- Mono 0.4 !!! FIXME !!! (Only passes w/ ~ 0.49)
Tests are passing, however - have to check the MONO case.
|
|
|
|
| |
test); Add @FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
|
|
|
| |
javax.sound.sampled.UnsupportedAudioFileException dependency
|
| |
|
|
|
|
| |
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
| |
loading on Android; Adding proper byteOrder swapping depending on input format.
- Also added a few more test streams
- Working Android test activity
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add 'c.build.openal.soft.android' task
using GCC_VERSION -> ANDROID_TOOLCHAIN_VERSION
NDK_ROOT -> ANDROID_NDK
PATH_VANILLA -> PATH
- Copy openal-soft lib to ${rootrel.build}/obj,
to be picked up by jar and appt archiving tasks
- Android build script:
- Bump to GCC_VERSION 4.7
- Add PATH_VANILLA, i.e. PATH before adding cross-compile tools 'gcc'
- Sound3DTest: Fix package name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- OpenAL Header
- Unique declaration in al-types.h and alc-types.h, remove duplicates in al.h and alc.h
- Use ALproc and ALCproc for opaque pointer return values
- GlueGen Fixes
- Remove duplicates in extension classes ALExt and ALExtConstants
- Push all common configurations to joal-common.cfg
- Complete ArgumentIsString for ALC methods
- Added scripts/tests.sh for convenient manual testing of single unit test
-
|
|
|
|
|
|
|
| |
Do not expect exceptions to happen under normal execution and
fill the destination buffer instead of the source buffer.
Signed-off-by Xerxes Rånby <[email protected]>
|
|
|
|
| |
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
| |
Imported the ALExtLoopbackDeviceSOFTTest junit test.
Author: Michael Zucchi <[email protected]>
Signed-off-by: Xerxes Rånby <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
| |
This fix will re-enable the manual OpenALTest to work.
java -cp gluegen-rt.jar:joal.jar:joal-test.jar com.jogamp.openal.test.manual.OpenALTest
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mark/reset not supported.
[junit] Testcase: testAlBufferDataintintByteBufferintint took 0,021 sec
[junit] Caused an ERROR
[junit] mark/reset not supported
[junit] java.io.IOException: mark/reset not supported
[junit] at java.util.zip.InflaterInputStream.reset(InflaterInputStream.java:286)
[junit] at java.io.FilterInputStream.reset(FilterInputStream.java:217)
[junit] at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:135)
[junit] at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1111)
[junit] at com.jogamp.openal.util.WAVLoader.loadFromStream(WAVLoader.java:87)
[junit] at com.jogamp.openal.test.junit.ALTest.loadTestWAV(ALTest.java:386)
[junit] at com.jogamp.openal.test.junit.ALTest.testAlBufferDataintintByteBufferintint(ALTest.java:281)
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- plays on linux/window now
- ant build files fixed -> Windows support
- windows OpenAL 32/64 bit: see make/lib/FILES.txt make/lib/oalinst-license.txt)
- linux libs: added .1 to suffix
- added Debug impl
- catch EAX init exception (ie unsatisfied link error)
- EAX proper blocked init
TODO:
- check on osx
- joal-demos
|
|
|
|
|
|
|
|
|
|
|
| |
- test: use jar file joal-test.jar
- test: use proper getResourceAsStream() on class instance
- test: plays sound
TODO:
- check on windows and osx
- add jnlp file template
- joal-demos
|
|
- Use GlueGen DynamicLibraryBundle
- Fix alGetString
- Proper test/junit structure
- NB project fix
- add artifacts.properties and jar's manifest
- proper ZIP file structure
TODO:
- check on windows and osx
- actually hear a sound
- add jnlp file template
- joal-demos
|