aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/jogamp/common/av
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking ↵Sven Gothel2023-10-152-8/+16
| | | | | | | 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-062-2/+8
|
* AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to ↵Sven Gothel2023-10-042-25/+16
| | | | access the last buffered audio pts
* AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), ↵Sven Gothel2023-05-232-15/+42
| | | | | | | | | | | 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-232-6/+6
| | | | universal API interface
* AudioFormat/AudioSink: Use float in seconds for duration to avoid losing ↵Sven Gothel2023-05-212-13/+9
| | | | precision when dealing with stats, averages etc
* AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> ↵Sven Gothel2023-05-212-0/+10
| | | | | | | | | | | | | | 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-202-0/+10
|
* AudioSink: Add latency query, init(..) frameDuration in ms shall be int, fix ↵Sven Gothel2023-05-192-2/+23
| | | | API doc
* Place AudioFormat in its own file outside AudioSink, JOAL's ALAudioSink has ↵Sven Gothel2023-05-182-4/+6
| | | | moved to com.jogamp.openal.util.ALAudioSink (public)
* AudioSink: Add exclusive locking allowing implementations to short-cut for ↵Sven Gothel2023-05-172-0/+12
| | | | less management overhead (-> OpenAL + Synthesizer)
* Promote common av (audio/video) classes (AudioSink, ..) from JOGL to GlueGen ↵Sven Gothel2023-05-172-0/+453
for cross module usage in JOAL, JOGL, ... Supply AudioSink: NullAudioSink and JavaSoundAudioSink by GlueGen, ALAudioSink is supplied via JOAL.