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

Changes

Summary

  1. AudioSink: Enhance description re 'AudioFrame' and 'frameDuration' also using enqueueData() -> 1 AudioFrame (details)
  2. AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> AudioFrame; init(): Use getAvgFrameDuration() for queue growth and limit. (details)
  3. AudioFormat/AudioSink: Use float in seconds for duration to avoid losing precision when dealing with stats, averages etc (details)
  4. AudioSink: Refine context locking where supported, have a more usable universal API interface (details)
  5. AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), getPreferredFormat() and isSupported(); Add setChannelLimit() impacting (details)
Commit 325e5ed234a5e15f8f94eaa72dba6dbb619d490a by Sven Gothel
AudioSink: Enhance description re 'AudioFrame' and 'frameDuration' also using enqueueData() -> 1 AudioFrame
The file was modifiedsrc/java/com/jogamp/common/av/AudioSink.java (diff)
Commit 5c33470aea6b30c81681992567d7c92e100bdab3 by Sven Gothel
AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> AudioFrame; init(): Use getAvgFrameDuration() for queue growth and limit.

This change renders buffer dequeueing, growth and limit sticking w/ [ms] values
while getAvgFrameDuration() assists frame count determination.

getAvgFrameDuration() is calculated when buffer is fully filled (queuedBytes / queuedFrames),
i.e. a proper representation to be used to dequeue in duration range
as well as for growth.

This further decouples the frameDuration{->Hint} parameter in init(),
as it is now only used for the initial buffer count (and latency adjustment).
The file was modifiedsrc/java/com/jogamp/common/av/AudioFormat.java (diff)
The file was modifiedsrc/java/com/jogamp/common/av/AudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/JavaSoundAudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/NullAudioSink.java (diff)
Commit 742cf0cd053f968cbf291ed367d4568c12d8bde2 by Sven Gothel
AudioFormat/AudioSink: Use float in seconds for duration to avoid losing precision when dealing with stats, averages etc
The file was modifiedsrc/java/com/jogamp/common/av/TimeFrameI.java (diff)
The file was modifiedsrc/java/com/jogamp/common/av/AudioFormat.java (diff)
The file was modifiedsrc/java/com/jogamp/common/av/AudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/JavaSoundAudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/NullAudioSink.java (diff)
Commit c04726720a57f8db42f2621ad58ff3bd42006c63 by Sven Gothel
AudioSink: Refine context locking where supported, have a more usable universal API interface
The file was modifiedsrc/java/jogamp/common/av/NullAudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/JavaSoundAudioSink.java (diff)
The file was modifiedsrc/java/com/jogamp/common/av/AudioSink.java (diff)
Commit 6a74d16a805a4204093972bb91361b2aa633065c by Sven Gothel
AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), getPreferredFormat() and isSupported(); Add setChannelLimit() impacting

Add setChannelLimit() impacting getPreferredFormat() and isSupported(),
i.e. to limit channels for e.g. JOAL/OpenAL spatial 3D sound usage.

getNativeFormat() shall be unaffected.

getMaxSupportedChannels() is redudandant -> getPreferredFormat()
The file was modifiedsrc/java/jogamp/common/av/NullAudioSink.java (diff)
The file was modifiedsrc/java/com/jogamp/common/av/AudioSink.java (diff)
The file was modifiedsrc/java/jogamp/common/av/JavaSoundAudioSink.java (diff)