Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | PTS: Rename millisToTimeStr() -> toTimeStr(), analogue to toMillis() | Sven Göthel | 2024-02-02 | 1 | -10/+10 |
| | |||||
* | PTS: Add toMillis(String), parsing string representation in ↵ | Sven Göthel | 2024-02-02 | 1 | -3/+28 |
| | | | | '[H[H]:]m[m]:s[s][.S*]' using custom DateTimeFormatter to milliseconds, complementing millisToTimeStr(..) | ||||
* | PTS: Add convenient getCurrent() passing Clock.currentMillis() to get(long). | Sven Göthel | 2024-01-31 | 1 | -0/+2 |
| | |||||
* | PTS: Add millisToTimeStr(..) convenient time string representation, also ↵ | Sven Gothel | 2023-12-30 | 1 | -0/+67 |
| | | | | used by added get{SCR, Last, }TimeStr(..) methods | ||||
* | PTS: Add copy constructor | Sven Gothel | 2023-10-16 | 1 | -0/+5 |
| | |||||
* | PTS: get(currentMillis): Employ rounding in integer conversion | Sven Gothel | 2023-10-16 | 1 | -2/+2 |
| | |||||
* | Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking ↵ | Sven Gothel | 2023-10-15 | 2 | -11/+143 |
| | | | | | | | 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 Gothel | 2023-10-06 | 1 | -2/+14 |
| | |||||
* | AudioSink/TimeFrame1: API doc: Add notes about integer stored milliseconds ↵ | Sven Gothel | 2023-10-06 | 2 | -7/+39 |
| | | | | for PTS and duration, i.e. good for 24.855 days | ||||
* | AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to ↵ | Sven Gothel | 2023-10-04 | 1 | -42/+36 |
| | | | | access the last buffered audio pts | ||||
* | AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), ↵ | Sven Gothel | 2023-05-23 | 1 | -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 Gothel | 2023-05-23 | 1 | -6/+27 |
| | | | | universal API interface | ||||
* | AudioFormat/AudioSink: Use float in seconds for duration to avoid losing ↵ | Sven Gothel | 2023-05-21 | 3 | -22/+56 |
| | | | | precision when dealing with stats, averages etc | ||||
* | AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> ↵ | Sven Gothel | 2023-05-21 | 2 | -15/+25 |
| | | | | | | | | | | | | | | 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 Gothel | 2023-05-21 | 1 | -6/+19 |
| | | | | using enqueueData() -> 1 AudioFrame | ||||
* | AudioSink.init(): Detail 'frameDuration' intend and impact of underlying ↵ | Sven Gothel | 2023-05-20 | 1 | -3/+14 |
| | | | | JOAL/OpenAL implementation | ||||
* | Add AudioSink.getSourceCount(), refine Audio* API doc | Sven Gothel | 2023-05-20 | 2 | -10/+34 |
| | |||||
* | AudioSink: Add latency query, init(..) frameDuration in ms shall be int, fix ↵ | Sven Gothel | 2023-05-19 | 1 | -8/+34 |
| | | | | API doc | ||||
* | AudioFormat: Fix rounding/int-truncate errors, all millisecond params use ↵ | Sven Gothel | 2023-05-19 | 1 | -7/+7 |
| | | | | type int | ||||
* | Place AudioFormat in its own file outside AudioSink, JOAL's ALAudioSink has ↵ | Sven Gothel | 2023-05-18 | 3 | -151/+180 |
| | | | | moved to com.jogamp.openal.util.ALAudioSink (public) | ||||
* | AudioSink: Add exclusive locking allowing implementations to short-cut for ↵ | Sven Gothel | 2023-05-17 | 1 | -0/+12 |
| | | | | less management overhead (-> OpenAL + Synthesizer) | ||||
* | Promote common av (audio/video) classes (AudioSink, ..) from JOGL to GlueGen ↵ | Sven Gothel | 2023-05-17 | 3 | -0/+598 |
for cross module usage in JOAL, JOGL, ... Supply AudioSink: NullAudioSink and JavaSoundAudioSink by GlueGen, ALAudioSink is supplied via JOAL. |