aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/common/av/AudioSink.java
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking ↵Sven Gothel2023-10-151-11/+6
| | | | | | | last PTS value against System Clock Reference (SCR) This allows passing through actual SCR with the PTS when enqueueing audio frames and utilizing it when querying actual time lapsed PTS value (interpolation SCR to currentMillis).
* AudioSink: Rename getQueued{Time->Duration}(), add updateQueue()Sven Gothel2023-10-061-2/+14
|
* AudioSink/TimeFrame1: API doc: Add notes about integer stored milliseconds ↵Sven Gothel2023-10-061-0/+11
| | | | for PTS and duration, i.e. good for 24.855 days
* AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to ↵Sven Gothel2023-10-041-42/+36
| | | | access the last buffered audio pts
* AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), ↵Sven Gothel2023-05-231-24/+41
| | | | | | | | | | | 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-6/+27
| | | | universal API interface
* AudioFormat/AudioSink: Use float in seconds for duration to avoid losing ↵Sven Gothel2023-05-211-4/+20
| | | | precision when dealing with stats, averages etc
* AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> ↵Sven Gothel2023-05-211-14/+22
| | | | | | | | | | | | | | 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).
* AudioSink: Enhance description re 'AudioFrame' and 'frameDuration' also ↵Sven Gothel2023-05-211-6/+19
| | | | using enqueueData() -> 1 AudioFrame
* AudioSink.init(): Detail 'frameDuration' intend and impact of underlying ↵Sven Gothel2023-05-201-3/+14
| | | | JOAL/OpenAL implementation
* Add AudioSink.getSourceCount(), refine Audio* API docSven Gothel2023-05-201-1/+23
|
* AudioSink: Add latency query, init(..) frameDuration in ms shall be int, fix ↵Sven Gothel2023-05-191-8/+34
| | | | API doc
* Place AudioFormat in its own file outside AudioSink, JOAL's ALAudioSink has ↵Sven Gothel2023-05-181-150/+0
| | | | moved to com.jogamp.openal.util.ALAudioSink (public)
* AudioSink: Add exclusive locking allowing implementations to short-cut for ↵Sven Gothel2023-05-171-0/+12
| | | | less management overhead (-> OpenAL + Synthesizer)
* Promote common av (audio/video) classes (AudioSink, ..) from JOGL to GlueGen ↵Sven Gothel2023-05-171-0/+448
for cross module usage in JOAL, JOGL, ... Supply AudioSink: NullAudioSink and JavaSoundAudioSink by GlueGen, ALAudioSink is supplied via JOAL.