Commit Graph
24 Commits
Author SHA1 Message Date
James Muehlner 8497878cb2 GUACAMOLE-1803: Fix frame scheduling logic in recording playback. 2023-06-20 19:44:37 +00:00
James Muehlner 7176ccce68 GUACAMOLE-1803: Restore logic to account for frame rendering delays. 2023-06-15 17:51:54 +00:00
James Muehlner e4d6fe1012 GUACAMOLE-1803: Default to 1000 millisecond refresh interval. 2023-06-15 16:32:52 +00:00
James Muehlner b8de8ebb90 GUACAMOLE-1803: Update session recording playback at least once per second and allow arbitrary seeking. 2023-06-15 16:32:46 +00:00
Leonard Wagner 9868a056bd GUACAMOLE-1793: Fix creation of SessionRecording from blob. 2023-05-24 16:41:52 +02:00
Michael Jumper c3aad01be8 GUACAMOLE-462: Continue playback only after keyframe import.
If this is not done, asynchronous decoding of the keyframe via text()
may complete AFTER replay continues, effectively ignoring the keyframe,
leaving currentFrame untouched, and unnecessarily replaying
instructions.
2022-03-02 20:37:41 +00:00
Michael Jumper c4b8a13968 GUACAMOLE-462: State of recording after resetting to a keyframe is the index of that keyframe, not necessarily the requested seek index.
Further instructions may need to be replayed after seeking to the
keyframe in order to reach the desired frame index.
2022-03-02 20:37:37 +00:00
Michael Jumper 27c7ab782f GUACAMOLE-462: Do not continue an outstanding state import if its corresponding seek has been cancelled. 2022-03-02 20:37:30 +00:00
Michael Jumper a096abd735 GUACAMOLE-896: Always flush instruction buffer upon end of static tunnel. 2022-02-23 09:28:48 -08:00
Michael Jumper d0257122bb GUACAMOLE-896: Leverage Blobs for storage of recording keyframes. 2022-02-14 09:21:22 -08:00
Michael Jumper a97404b6ad GUACAMOLE-896: Update session recording player to support efficient reading from Blobs. 2022-02-11 17:09:57 -08:00
Michael Jumper 1ca1161a68 GUACAMOLE-986: Update documentation of all parameters/returns to specify non-nullable and/or primitive types where appropriate. 2021-12-18 23:03:57 -08:00
Jakub Vrána f722072807 GUACAMOLE-986: Add non-nullable modifier to return type of functions never returning null
Alternatively use a primitive type instead of nullable boxed type.
2020-03-11 13:27:56 +01:00
Michael Jumper 519daeebe2 GUACAMOLE-346: Use internal seekToFrame() to handle frame timing. 2017-07-15 17:10:47 -07:00
Michael Jumper b41311f1ed GUACAMOLE-346: Simplify style of seek callback invocation. 2017-07-15 16:16:26 -07:00
Michael Jumper 21eadec6a4 GUACAMOLE-346: Seek operations should be atomic with respect to the various timeouts. 2017-07-15 16:15:56 -07:00
Michael Jumper 23cf840ba6 GUACAMOLE-346: Playback must take into account that seeking is asynchronous. 2017-07-15 16:12:21 -07:00
Michael Jumper b325eb8139 GUACAMOLE-346: Require seek callback internally, for sake of simplicity. 2017-07-15 16:10:28 -07:00
Michael Jumper 744574d026 GUACAMOLE-346: Always replay frames asynchronously when seeking. 2017-07-15 16:08:55 -07:00
Michael Jumper 1d6e8d2216 GUACAMOLE-346: Avoid blocking the main thread when seeking within a session recording. 2017-07-15 16:07:33 -07:00
Michael Jumper 4f9469d901 GUACAMOLE-250: Add support for seeking within session recordings. 2017-04-15 17:12:29 -07:00
Michael Jumper 9d5e1111a6 GUACAMOLE-250: Automatically store keyframes while recordings are being played. 2017-04-15 17:12:29 -07:00
Michael Jumper 1fcb5f2d19 GUACAMOLE-250: Fix backward seeking - must retreat potentially all the way to frame 0 in search of an absolute state. 2017-04-15 17:12:29 -07:00
Michael Jumper 052bb9b36b GUACAMOLE-250: Implement Guacamole.SessionRecording having basic play/pause support. 2017-04-15 17:12:23 -07:00