aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/jogamp/common/av/JavaSoundAudioSink.java
Commit message (Collapse)AuthorAgeFilesLines
* AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), ↵Sven Gothel2023-05-231-7/+36
| | | | | | | | | | | 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()
* AudioSink: Refine context locking where supported, have a more usable ↵Sven Gothel2023-05-231-3/+3
| | | | universal API interface
* AudioFormat/AudioSink: Use float in seconds for duration to avoid losing ↵Sven Gothel2023-05-211-9/+5
| | | | precision when dealing with stats, averages etc
* AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> ↵Sven Gothel2023-05-211-0/+5
| | | | | | | | | | | | | | 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).
* Add AudioSink.getSourceCount(), refine Audio* API docSven Gothel2023-05-201-0/+5
|
* AudioSink: Add latency query, init(..) frameDuration in ms shall be int, fix ↵Sven Gothel2023-05-191-1/+12
| | | | API doc
* Place AudioFormat in its own file outside AudioSink, JOAL's ALAudioSink has ↵Sven Gothel2023-05-181-4/+5
| | | | moved to com.jogamp.openal.util.ALAudioSink (public)
* AudioSink: Add exclusive locking allowing implementations to short-cut for ↵Sven Gothel2023-05-171-0/+6
| | | | less management overhead (-> OpenAL + Synthesizer)
* Promote common av (audio/video) classes (AudioSink, ..) from JOGL to GlueGen ↵Sven Gothel2023-05-171-0/+267
for cross module usage in JOAL, JOGL, ... Supply AudioSink: NullAudioSink and JavaSoundAudioSink by GlueGen, ALAudioSink is supplied via JOAL.