Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. SimpleSineSynth: Ensure stop() destroys ALAudioSink even if streamWorker is not running (details)
  2. ALAudioSink: Allow disabling using AL_SOFT_events via setUseSOFTEvents(boolean) (details)
  3. SimpleSineSynth: Reuse WorkerThread, drop handcrafted code .. (details)
  4. Bug 1473 - ALAudioSink: AV Synchronization Broken, Regression in-between JogAmp Version [2.4.0 - 2.5.0] (details)
  5. Bug 1472: AVSync: Add more comprehensive DEBUG info to detect sync issues (details)
  6. ALAudioSink: getPTS() returns time-adjusted last dequeued PTS, new updateQueue() dequeues w/o wait 1st, then returns adjusted PTS; Simplify/split waitFroReleaded*(); Use TSPrinter for DEBUG (details)
  7. Bug 1472: Enhance AV Sync: Pass through PTS object in ALAudioSink, tracking last PTS value against System Clock Reference (SCR) (details)
  8. ALAudioSink: Use clipAudioVolume(..) function for clarity (details)
  9. feat(devices): Allow to retrieve devices specifiers with ALC_ENUMERATE_ALL_EXT (details)
  10. feat(version): Invoking JoalVersion no longer destroys the current context (details)
  11. feat(devices): Move ALC_EXT constant from ALCconstants into ALHelpers with other ALC_EXT names (details)
  12. feat(headers): Update al*.h and efx*.h to latest version of openal-soft embedded (details)
  13. drop(eax): Remove support of legacy EAX extension (details)
  14. Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native library path, support throughout DynamicLibraryBundle[Info] (details)
  15. Bug 1475: Minor revision of orig patch-set (details)
  16. sound3d.Context: Add tryMakeCurrent(..) variant (details)
  17. Bug 1476: Reviewed updated OpenAL header (extensions) via make/scripts/cmpOld2New.sh (details)
  18. Bug 1481: ALAudioSink: Adopt to GlueGen's PascalString Change (details)
  19. Bump OpenAL-Soft to git 571b546f35eead77ce109f8d4dd6c3de3199d573 2023-11-25, post v1.23.1; Adding 2 extensions (ALExt) (details)
  20. Bug 1480 - Adjust for MacOS >= 10.13 (Min Deployment Version) (details)
  21. feat(alc): Add missing @Override annotation in ALCImpl (details)
  22. feat(alc): Fix typo of following methods in ALC api : (details)
  23. feat(alext): Add ALC_SOFT_system_events inside JoalVersion.getALStrings if supported (details)
  24. feat(alext): Add tests related to ALC_SOFT_system_events. (details)
  25. JoalVersion: Avoid using Map.of(..), i.e. streaming API to be compatible w/ JRE 1.8.0 (details)
  26. Sync OpenAL-Soft to commit b82cd2e60edb8fbe5fdd3567105ae76a016a554c (details)
  27. bump test script (details)
  28. Build/test: Use OpenJDK-21 per default (details)
Commit 10b236976ffef7d1a330e601bf8dc6b0228ec36b by Sven Gothel
SimpleSineSynth: Ensure stop() destroys ALAudioSink even if streamWorker is not running
The file was modifiedsrc/java/com/jogamp/openal/util/SimpleSineSynth.java (diff)
Commit 32247876e837c3dc35766286e1a6190c7fb476e2 by Sven Gothel
ALAudioSink: Allow disabling using AL_SOFT_events via setUseSOFTEvents(boolean)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit 46a14783593f5e06125ad9b28e4a091e0ee4560e by Sven Gothel
SimpleSineSynth: Reuse WorkerThread, drop handcrafted code ..

Actually new GlueGen WorkerThread was created from GLMediaPlayer, which was also the template for this one
and hence lead to generalization to WorkerThread.
The file was modifiedsrc/java/com/jogamp/openal/util/SimpleSineSynth.java (diff)
Commit edf181e8a75f41c7d7e8de5d65c51d66f01fd61c by Sven Gothel
Bug 1473 - ALAudioSink: AV Synchronization Broken, Regression in-between JogAmp Version [2.4.0 - 2.5.0]

- Adopt to simplified AudioSink
  - Add lastBufferedPTS and expose it
- Cleanup short* and perf*String() trace/debug presentations to simplify review
  - Hence drop growBuffers()
- Set initial avgFrameDuration to latency, at least a good start

+++

dequeueBuffer(..):
- Pass releaseBufferCountReq directly, tangible only if wait == true,
  have enqueueData(..) determine the wait and releaseBufferCountReq value.
- Drop dequeueBuffer(..) overload caller, simplifying code
- Don't change playingPTS(..) in overload caller, enqueueData(..) takes care of it
- Align DEBUG trace with enqueueData(..) to simplify review
- Otherwise no semnatic change in dequeueBuffer(..)

enqueueData(..):
- Dropped growBuffers()
- Show DEBUG trace before actual dequeueBuffer(..) to have meanigful output
- SOFT (no-wait) dequeueBuffer(..) triggers on 2/3rd full queue
- HARD (wait) dequeueBuffer(..) if queue is full
- Set playingPTS, either use
  - old queue-tip (too old) and add (forward) 60% of queue-buffer time
  - new queue-tail (too young), subtract (delay) 40% of queue-buffer time
The file was modifiedsrc/java/com/jogamp/openal/util/SimpleSineSynth.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 05529d4d6cd857e5bcd87be3b342c3fe7ba7655e by Sven Gothel
Bug 1472: AVSync: Add more comprehensive DEBUG info to detect sync issues
The file was modifiedsrc/java/com/jogamp/openal/util/ALHelpers.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit d3de587eae8ed8b5b5bc62647da0f95297144294 by Sven Gothel
ALAudioSink: getPTS() returns time-adjusted last dequeued PTS, new updateQueue() dequeues w/o wait 1st, then returns adjusted PTS; Simplify/split waitFroReleaded*(); Use TSPrinter for DEBUG

Returning the time-adjusted PTS from the last dequeued frame seems to be the most accurate
value we can deliver.

Hence we store the Clock.currentMillis() in playing_pts_t0 when updating playing_pts
and add the difference to current Clock.currentMillis() when retrieving.
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/SimpleSineSynth.java (diff)
Commit 12029f1ec1d8afa576e1ac61655f318cc37c1d16 by Sven Gothel
Bug 1472: Enhance AV Sync: Pass through PTS object in ALAudioSink, tracking last PTS value against System Clock Reference (SCR)

See GlueGen commit 52725b4c6525487f93407f529dc0a758b387a4fc
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/SimpleSineSynth.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 21079539c1f81bae9df328e6487e4d4d174b0b51 by Sven Gothel
ALAudioSink: Use clipAudioVolume(..) function for clarity
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit bf09df70444f38424a84fc382498b57498bb5601 by mfery
feat(devices): Allow to retrieve devices specifiers with ALC_ENUMERATE_ALL_EXT
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
The file was modifiedmake/config/joal-alc-CustomJavaCode.java (diff)
The file was addedmake/config/joal-alc-constants-CustomJavaCode.java
The file was modifiedsrc/native/almisc.c (diff)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth01AL.java (diff)
The file was modifiedmake/config/joal-alc-constants.cfg (diff)
The file was modifiedmake/config/joal-alc-impl-CustomCCode.c (diff)
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
Commit 9ac10deb2fa4e965222fb0dcd8d3e1dd136e5944 by mfery
feat(version): Invoking JoalVersion no longer destroys the current context
The file was modifiedsrc/test/com/jogamp/openal/test/junit/ALVersionTest.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit 0fde337685aa1feda82cc29ea852518135cb9eff by mfery
feat(devices): Move ALC_EXT constant from ALCconstants into ALHelpers with other ALC_EXT names
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
The file was removedmake/config/joal-alc-constants-CustomJavaCode.java
The file was modifiedsrc/java/com/jogamp/openal/util/ALHelpers.java (diff)
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
The file was modifiedmake/config/joal-alc-constants.cfg (diff)
Commit 02cc3395f950da98cd7e02a257b0669550be71d7 by mfery
feat(headers): Update al*.h and efx*.h to latest version of openal-soft embedded

eax.h is 'ignored' because usable reference header file are located inside submodule openal-soft/al/eax/api.h but this header contains many symbol not processed by Gluegen like constexpr and other c++ feature

Following extensions has been added :
* AL_EXT
   * AL_EXT_BFORMAT -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/AL%20Extensions/AL_EXT_BFORMAT.txt
   * AL_EXT_MULAW_BFORMAT -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/AL%20Extensions/AL_EXT_MULAW_BFORMAT.txt
* AL_SOFT
   * AL_SOFT_deferred_updates -> https://openal-soft.org/openal-extensions/SOFT_deferred_updates.txt
   * AL_SOFT_block_alignment -> https://openal-soft.org/openal-extensions/SOFT_block_alignment.txt
   * AL_SOFT_MSADPCM -> https://openal-soft.org/openal-extensions/SOFT_MSADPCM.txt
   * AL_SOFT_source_length -> https://openal-soft.org/openal-extensions/SOFT_source_length.txt
   * AL_SOFT_buffer_length_query -> https://openal-soft.org/openal-extensions/SOFT_buffer_length_query.txt
   * AL_SOFT_gain_clamp_ex -> https://openal-soft.org/openal-extensions/SOFT_gain_clamp_ex.txt
   * AL_SOFT_source_resampler -> https://openal-soft.org/openal-extensions/SOFT_source_resampler.txt
   * AL_SOFT_source_spatialize -> https://openal-soft.org/openal-extensions/SOFT_source_spatialize.txt
   * AL_SOFT_direct_channels_remix -> https://openal-soft.org/openal-extensions/SOFT_direct_channels_remix.txt
   * AL_SOFT_bformat_ex -> https://openal-soft.org/openal-extensions/SOFT_bformat_ex.txt
   * AL_SOFT_effect_target -> https://openal-soft.org/openal-extensions/SOFT_effect_target.txt
   * AL_SOFT_callback_buffer -> https://openal-soft.org/openal-extensions/SOFT_callback_buffer.txt
   * AL_SOFT_UHJ -> https://openal-soft.org/openal-extensions/SOFT_UHJ.txt
   * AL_SOFT_UHJ_ex -> https://openal-soft.org/openal-extensions/SOFT_UHJ_ex.txt
   * AL_SOFT_source_start_delay -> https://openal-soft.org/openal-extensions/SOFT_source_start_delay.txt
* ALC_EXT
   * ALC_EXT_DEFAULT_FILTER_ORDER -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/ALC%20Extensions/ALC_EXT_DEFAULT_FILTER_ORDER.txt
* ALC_SOFT
   * ALC_SOFT_pause_device -> https://openal-soft.org/openal-extensions/SOFT_pause_device.txt
   * ALC_SOFT_HRTF -> https://openal-soft.org/openal-extensions/SOFT_HRTF.txt
   * ALC_SOFT_output_limiter -> https://openal-soft.org/openal-extensions/SOFT_output_limiter.txt
   * ALC_SOFT_device_clock -> https://openal-soft.org/openal-extensions/SOFT_device_clock.txt
   * ALC_SOFT_loopback_bformat -> https://openal-soft.org/openal-extensions/SOFT_loopback_bformat.txt
   * ALC_SOFT_reopen_device -> https://openal-soft.org/openal-extensions/SOFT_reopen_device.txt
   * ALC_SOFT_output_mode -> https://openal-soft.org/openal-extensions/SOFT_output_mode.txt
The file was modifiedmake/config/joal-common-CustomCCode.c (diff)
The file was modifiedmake/config/joal-alext.cfg (diff)
The file was modifiedmake/stub_includes/openal/efx-creative.h (diff)
The file was modifiedmake/stub_includes/openal/efx-presets.h (diff)
The file was modifiedmake/stub_includes/openal/efx.h (diff)
The file was removedmake/stub_includes/openal/al-types.h
The file was modifiedmake/stub_includes/openal/al.h (diff)
The file was removedmake/stub_includes/openal/alc-types.h
The file was modifiedmake/stub_includes/openal/alc.h (diff)
The file was modifiedmake/stub_includes/openal/alext.h (diff)
Commit ac87e953de99a165ca0d1adebc93678f28dfe094 by mfery
drop(eax): Remove support of legacy EAX extension
The file was removedmake/stub_includes/openal/eax.h
The file was removedsrc/java/com/jogamp/openal/eax/EAXConstants.java
The file was removedsrc/native/eaxbind.h
The file was modifiedsrc/test/com/jogamp/openal/test/manual/OpenALTest.java (diff)
The file was removedsrc/native/eaxfactory.c
The file was removedsrc/java/com/jogamp/openal/eax/EAXFactory.java
The file was removedsrc/native/eaxbind.c
The file was removedsrc/native/eaxfactory.h
The file was removedsrc/java/com/jogamp/openal/eax/EAX.java
Commit 316e80eaa678c9bf1b03685c081d48d2cf927f43 by Sven Gothel
Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native library path, support throughout DynamicLibraryBundle[Info]
The file was modifiedsrc/java/jogamp/openal/ALDynamicLibraryBundleInfo.java (diff)
Commit 1aa6f3080953eb4b3a4018b805a014c95dfce4dd by Sven Gothel
Bug 1475: Minor revision of orig patch-set

- Implement ALC.alcIsDoubleNullTerminatedString() in Java w/ our existing functionality,
  drop JNI function

- JoalVersion.devicesToString(..) revert to original API
  dropping boolean params

- C: Drop using stdbool.h, earmarked as obsolete in std
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
The file was modifiedsrc/native/almisc.c (diff)
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/config/joal-alc-impl-CustomCCode.c (diff)
Commit 9319b077c6878b3c6de968eb19fef7f0f2b0eb8b by Sven Gothel
sound3d.Context: Add tryMakeCurrent(..) variant
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Context.java (diff)
Commit 4c286a85fb8b8e469d39de1811c2daebcc534a37 by Sven Gothel
Bug 1476: Reviewed updated OpenAL header (extensions) via make/scripts/cmpOld2New.sh

No API change of old methods or fields!
The file was addedmake/scripts/cmpOld2New.sh
The file was addedmake/scripts/strip-c-comments.awk
The file was modifiedmake/config/joal-common.cfg (diff)
Commit d6293dc4e8e97a046ed605782f17993d429720c3 by Sven Gothel
Bug 1481: ALAudioSink: Adopt to GlueGen's PascalString Change
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 7171b103eb7a62226595c7b6621ca1de63d41e65 by Sven Gothel
Bump OpenAL-Soft to git 571b546f35eead77ce109f8d4dd6c3de3199d573 2023-11-25, post v1.23.1; Adding 2 extensions (ALExt)

New extensions:
- ALC_EXT_debug
- AL_EXT_debug
- ALC_SOFT_system_events

Testing:
- ALDebugExtTest contains minimal test for
  - ALC_EXT_debug
  - AL_EXT_debug

+++

commit 1aaf4f070011490bcece50394b9b32dfa593fd9e (HEAD -> master)
Merge: 6e7cee4f 571b546f
Author: Sven Gothel <sgothel@jausoft.com>
Date:   Tue Nov 28 12:51:46 2023 +0100

    Merge remote-tracking branch 'upstream/master'

commit 571b546f35eead77ce109f8d4dd6c3de3199d573 (upstream/master)
Author: Chris Robinson <chris.kcat@gmail.com>
Date:   Sat Nov 25 22:09:28 2023 -0800

    Update some in-progress format enums
The file was modifiedmake/config/joal-alext.cfg (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Device.java (diff)
The file was modifiedmake/stub_includes/openal/efx.h (diff)
The file was addedsrc/test/com/jogamp/openal/test/junit/ALDebugExtTest.java
The file was modifiedmake/stub_includes/openal/alext.h (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Context.java (diff)
The file was modifiedopenal-soft (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/stub_includes/openal/al.h (diff)
The file was modifiedmake/stub_includes/openal/alc.h (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/ALHelpers.java (diff)
Commit de81e5201381b95a78fb26f143fc57ed523c8d81 by Sven Gothel
Bug 1480 - Adjust for MacOS >= 10.13 (Min Deployment Version)
The file was modifiedopenal-soft (diff)
Commit c989989b1221639933aeabebd65d5453eac0b0a7 by mfery
feat(alc): Add missing @Override annotation in ALCImpl
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
Commit 41a2967c25a3be64733262eb8b1f1c6b23cfd1dc by mfery
feat(alc): Fix typo of following methods in ALC api :
* aclEnumerationExtIsPresent -> alcEnumerationExtIsPresent
* aclEnumerateAllExtIsPresent -> alcEnumerateAllExtIsPresent
The file was modifiedmake/config/joal-alc-CustomJavaCode.java (diff)
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit b2ed5ecd2a675f132daea1594ac0b93fa9a09955 by mfery
feat(alext): Add ALC_SOFT_system_events inside JoalVersion.getALStrings if supported
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
The file was modifiedsrc/java/jogamp/openal/ALCImpl.java (diff)
The file was modifiedmake/config/joal-alc-CustomJavaCode.java (diff)
Commit 92ddcc2426101f0f3e549d3a8a13e4b785996107 by mfery
feat(alext): Add tests related to ALC_SOFT_system_events.

Change java callback configuration of ALC_SOFT_system_events :
Because events aren't related on context but on device and context are device specific, ALC_SOFT_system_event use default Callback-KeyClass with a plain java object
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/openal/test/manual/ALCSystemEventTest.java
The file was modifiedmake/config/joal-alext.cfg (diff)
Commit a41468b95a9a09d407e944cfb3633904cff0d4a5 by Sven Gothel
JoalVersion: Avoid using Map.of(..), i.e. streaming API to be compatible w/ JRE 1.8.0
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit 9a63edc27748ddb7d4e00e3bba44d58628977ce2 by Sven Gothel
Sync OpenAL-Soft to commit b82cd2e60edb8fbe5fdd3567105ae76a016a554c
The file was modifiedopenal-soft (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 84e64b1070eca67f33549e787b9b65ad78a214b0 by Sven Gothel
Build/test: Use OpenJDK-21 per default
The file was modifiedmake/scripts/make.joal.all.win64.bat (diff)
The file was modifiedmake/scripts/make.joal.all.ios.arm64.sh (diff)
The file was modifiedmake/scripts/make.joal.all.macosx.sh (diff)
The file was modifiedmake/scripts/make.joal.all.ios.amd64.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)