aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
Commit message (Collapse)AuthorAgeFilesLines
* ALAudioSink: Utilize AL_SOFT_events if available, i.e. use callback for ↵Sven Gothel2023-07-091-0/+121
| | | | | | | 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.
* Promote SimpleSineSynth to API (util) from Synth02AL, allowing user to have ↵Sven Gothel2023-05-231-387/+5
| | | | a simple sound source to test
* Sound3D: Further OO wrapper to be used in ALAudioSink: Context locking, ↵Sven Gothel2023-05-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ALAudioSink: Use float in seconds for duration (AudioFormat and ↵Sven Gothel2023-05-211-1/+1
| | | | 'avgFrameDuration') to avoid losing precision when dealing with stats, averages etc
* Synth02AL: Use ALAudioSink's default latency instead of fixed frameDuration, ↵Sven Gothel2023-05-201-9/+16
| | | | | | using actual OpenAL frame processing refresh value Also pre-allocate sampleBuffer to 30ms actual format, using AudioFormat.getDurationsByteSize(..)
* Synth02ALL Use float32 (native openal-soft format) if availableSven Gothel2023-05-201-13/+40
|
* Demos OpenALTest/Synth02AL: Show JoalVersionSven Gothel2023-05-192-22/+14
|
* Sound3D/Context: Use same base ctor to initialize ↵Sven Gothel2023-05-181-1/+1
| | | | `hasALC_thread_local_context`, benefitting from thread-local-context
* Sound3D: Make all OO wrapper fully transparent and stand-alone, allow ↵Sven Gothel2023-05-181-4/+11
| | | | | | | | | | | 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
* ALAudioSink: Promote to public, be fully functional regarding AudioFormat ↵Sven Gothel2023-05-181-2/+3
| | | | and OpenAL paremeter. Can be 'plugged' into existing OpenAL logic.
* Synth02AL: Fix API doc re reduces latencySven Gothel2023-05-171-2/+2
|
* ALAudioSink.dequeueBuffer(): wait == true: Fix sleep cycle and use sleep(1) ↵Sven Gothel2023-05-171-5/+21
| | | | | | | 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.
* Manual Demos: Add two simple sine wave synthesizer, Synth02AL may be ↵Sven Gothel2023-05-172-0/+683
| | | | enhanced to a general synth solution
* OpenALTest: Drop nonsense LOOPING test on buffer (only applies to a source)Sven Gothel2023-05-171-4/+0
|
* Add ALVersion, i.e. retrieve vendor, renderer, version and vendor-version. ↵Sven Gothel2023-05-042-3/+82
| | | | Test against OpenAL-Soft data >= 1.23.0
* Fix Bug 1280: WAVData.loadFromStream(..) *API Change*: Only take expected ↵Sven Gothel2023-05-042-5/+5
| | | | | | | | | | 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>
* Ensure that only the size of sample data chunk is loaded, rather than entire ↵Matthew Harris2016-01-062-5/+5
| | | | remaining buffer. Copes with WAV files that have metadata appended to the end after the data RIFF chunk.
* Bug 1237: Adopt GlueGen's clarification of IOUtil.getResource(..), commit ↵v2.3.2Sven Gothel2015-10-031-1/+1
| | | | d78bb1be0a6290cb94918b21865a023c01825048
* Code Clean-Up based on our Recommended Settings (jogamp-scripting ↵Sven Gothel2014-07-0311-242/+249
| | | | | | | | | | | | | 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
* Fix ALExtLoopbackDeviceSOFTTestv2.1.5Sven Gothel2014-02-221-67/+186
| | | | | | | | | | | | - 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.
* Tests: Add UITestCase unit test super class (print start/end, singletion ↵Sven Gothel2014-02-223-4/+163
| | | | test); Add @FixMethodOrder(MethodSorters.NAME_ASCENDING)
* ALExtLoopbackDeviceSOFTTest: Remove ↵Sven Gothel2014-02-211-8/+7
| | | | javax.sound.sampled.UnsupportedAudioFileException dependency
* WAVLoader: Use Bitstream and support big-endian RIFX; Fix ALutWAVLoaderTestSven Gothel2014-02-211-30/+15
|
* ALutWAVLoaderTest: Test WAV decoder impl. Bug 684Xerxes Rånby2013-07-141-0/+89
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* WavData.loadFromStream: Uses IOUtil.copyStream2ByteBuffer which fixes ↵Sven Gothel2013-02-015-6/+50
| | | | | | | loading on Android; Adding proper byteOrder swapping depending on input format. - Also added a few more test streams - Working Android test activity
* Fix regression .. now use 'com.jogamp.openal.UnsupportedAudioFileException'Sven Gothel2013-01-311-3/+8
|
* Android Build & Test ; WavLoader/Data javax.audio separation (part-1)Sven Gothel2013-01-317-41/+837
|
* Build Cleanup for Android, Misc changes ..Sven Gothel2013-01-311-1/+1
| | | | | | | | | | | | | | | | - 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
* JOAL Fixes: GlueGen, OpenAL Header, Added scripts/tests.sh,Sven Gothel2013-01-311-4/+8
| | | | | | | | | | | | | | | - 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 -
* Fix exception logic and dest buffer in ALExtLoopbackDeviceSOFTTestXerxes Rånby2013-01-301-3/+3
| | | | | | | 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]>
* Improve ALExtLoopbackDeviceSOFTTest to list all available OpenAL extensions.Xerxes Rånby2013-01-301-6/+9
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* Bug 567 (part 3): add support for openal extensionsMichael Zucchi2013-01-291-0/+106
| | | | | | | Imported the ALExtLoopbackDeviceSOFTTest junit test. Author: Michael Zucchi <[email protected]> Signed-off-by: Xerxes Rånby <[email protected]>
* Add dummy junit test so jenkins would not failSven Gothel2013-01-191-0/+15
|
* Remove junit ALTest file with incompatible license.Xerxes Rånby2012-11-231-391/+0
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* Fix mark/reset bug in com/jogamp/openal/test/resources/ResourceLocation.javaXerxes Rånby2012-10-241-1/+2
| | | | | | | 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]>
* Fix testAlBufferDataintintByteBufferintint ERROR java.io.IOException: ↵Xerxes Rånby2012-10-231-1/+4
| | | | | | | | | | | | | | | | | | 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]>
* Window Support added ; Win64 libs & license filesSven Gothel2010-12-131-5/+5
| | | | | | | | | | | | | | - 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
* Playing audio againSven Gothel2010-12-134-7/+31
| | | | | | | | | | | - 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
* Bring back JOAL (code fixes and project structure)Sven Gothel2010-12-135-0/+617
- 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