Erik Thuning
3907d10755
FIX: multiple events triggering when using keyboard while focus is on a button
...
Keyboard events were triggering regardless of which element had focus, which
led to surprising behaviour: if the play button was focused and spacebar
got pressed, two playback toggle actions were triggered - one from the
keyboard listener and one from the default button activation.
This is fixed by ignoring spacebar presses in the custom listener if a
button has focus.
Also minor stylistic change break -> return
2025-02-06 15:10:01 +01:00
Erik Thuning
2be04e1e79
Made the player root element focusable
...
This makes keyboard actions work reliably in the entire element.
Using -1 ensures it does not interfere with tab navigation.
2025-02-06 14:29:53 +01:00
Erik Thuning
77151ceef8
Added support for dragging the progress bar to seek in the video
2025-02-06 14:28:14 +01:00
Erik Thuning
8323ea61dd
Implement automatic rotation
...
This change should lead to the screen automatically getting set to landscape
mode when activating fullscreen on a mobile device. Seems to only work in
chrome, which is not great, but it seems to be the only option.
2025-02-06 14:25:11 +01:00
Erik Thuning
db68e2b86b
Fixed a bug where the mute icon could desync from the actual mute state.
...
Due to source.muted not being set in the volume slider listener, it was
possible to desync the mute icon state by lowering the volume to zero and then
clicking the mute button.
2025-01-30 14:37:51 +01:00
Erik Thuning
633d9436f4
Improved volume handling on touch devices
...
The mute button no longer mutes when used on a touch device. Instead, it only
causes the volume slider to be displayed so the user can set the desired
volume. Also updated the volume icon to show as muted if the volume is
set to zero.
2025-01-30 14:19:27 +01:00
Erik Thuning
10e07c32bf
Atempting to properly sort out the layout
...
No longer using the entire window for layout decisions has caused a number of
problems. Attempting to solve them by porting some of the layout logic from
the old player. Also shuffled the CSS a bit to make related things
be displayed together.
2025-01-28 14:23:15 +01:00
Erik Thuning
4832023b14
Whitespace
2025-01-28 14:19:45 +01:00
Erik Thuning
cc5a87e68a
FIX: duration is no longer part of the json manifest
...
Now reading the duration directly from the controlling stream instead
of static metadata.
2025-01-24 14:38:29 +01:00
Erik Thuning
e4b85a87a1
Switched to container queries for the element layout settings
...
Also cleaned up some problematic/unnecessary directives:
- align-self interfered with video elements filling the grid
2025-01-23 16:30:19 +01:00
Erik Thuning
ef3b6910bf
Fixed CSS grid gap assignments to use modern syntax
2025-01-23 15:56:57 +01:00
Erik Thuning
f57c52ec51
Fixed the layout breaking in portrait mode
...
Removed minimum width and height because they are unnecessary
2025-01-22 14:41:00 +01:00
Erik Thuning
6e0da80d9d
FIX: Token not included in munged source
...
When munging the source for a video to add at subdomain, the wrong string was
being acted on, so the playback token was lost in translation.
2025-01-22 13:22:50 +01:00
Erik Thuning
0b22fab6a2
Made sure sources get ordered in a predictable way
2024-09-06 14:58:42 +02:00
Erik Thuning
1182bed672
Added the ability for streams to be hidden in the player given
...
the correct setting in the presentation manifest
2024-04-05 15:13:00 +02:00
Erik Thuning
5ae4fb9ff4
Unknown languages now lead to English UI. Updated documentation
...
on how internationalization works.
2023-08-16 14:24:12 +02:00
Erik Thuning
811cfd6305
Made the button to copy a link to the current time always visible by default
2023-08-16 14:16:31 +02:00
Erik Thuning
4446f9d67b
Removed concole.log statements
2023-08-16 14:16:11 +02:00
Erik Thuning
63810bb5a1
Removed debugging code.
...
Background returned to black, style inlined and style.css deleted as a consequence.
2023-08-16 14:09:39 +02:00
Erik Thuning
30e0944aaa
Implemented UI language switching
...
based on the containing document's html.lang attribute.
2023-08-16 14:06:36 +02:00
Erik Thuning
df2dab7adc
Expanded documentation for parseGETParameters
2023-08-16 09:18:14 +02:00
Erik Thuning
1b29fadaa0
Updated timelink copy to be able to link back to the existing embed place
2023-04-05 11:01:59 +02:00
Erik Thuning
1de19dd5f6
Implemented the timelink copy feature
2023-04-04 17:07:28 +02:00
Erik Thuning
515245e32e
Declared some existing fields in the cnstructor for extra clarity
2023-04-04 16:52:32 +02:00
Erik Thuning
fb659bda2a
Changed autoblurring to only affect selection popups
2023-01-20 14:45:27 +01:00
Erik Thuning
5da12d47f8
Implemented a spinner that pops up when any stream is buffering
2023-01-20 14:40:05 +01:00
Erik Thuning
f4081d0523
Consistency fix
2023-01-17 09:16:20 +01:00
Erik Thuning
667144adcb
Added basic keyboard controls for seeking and play/pause
2023-01-16 16:52:35 +01:00
Erik Thuning
ab0f6613e7
Fixed attempting to activate subs from memory if there are none
2023-01-13 16:22:22 +01:00
Erik Thuning
299631e5cd
Disabled autoblurring of elements
2023-01-10 13:49:04 +01:00
Erik Thuning
2e993a8735
Tweaked comment formatting
2023-01-10 13:26:41 +01:00
Erik Thuning
4820ba10c9
The button to copy a link to current time is now hidden by default.
...
It can be made visible via an attribute on the multi-player element.
2023-01-10 13:23:32 +01:00
Erik Thuning
1cf2e39a43
Progressbar css tweaks
2023-01-10 13:23:08 +01:00
Erik Thuning
b8467ee8ec
Code hygiene
2023-01-09 16:59:36 +01:00
Erik Thuning
069d746871
Implemented seeking and settings persistence
2023-01-09 16:58:19 +01:00
Erik Thuning
c4569c46b5
Added readme
2022-12-08 16:58:34 +01:00
Erik Thuning
cec90328dc
Working around the inability to play more than 6 streams at once.
...
Remote sources (those starting with https?://) now get a random subdomain
prepended by default. This can be switched off by setting the 'nomunge'
attribute on the player element to a truthy value.
2022-11-04 11:43:59 +01:00
Erik Thuning
099399a92f
Semicolon discipline
2022-11-04 10:58:24 +01:00
Erik Thuning
a5fe0ee7df
var -> const
2022-11-04 10:55:22 +01:00
Erik Thuning
0a56ad07b4
Implemented support for multiple subtitle tracks
2022-11-04 10:54:41 +01:00
Erik Thuning
110376146f
var -> let
2022-11-03 14:55:43 +01:00
Erik Thuning
ae550b641a
Minor fixes
2022-10-31 16:27:31 +01:00
Erik Thuning
13a5d4059a
Buffered segments are now shown on the progress bar
2022-10-31 11:43:54 +01:00
Erik Thuning
0aac98ddc2
The progress bar now displays progress as the video plays
2022-10-31 11:25:03 +01:00
Erik Thuning
0a6f09a287
Disabling responsive layout until we can look at the element instead of the screen
2022-10-31 10:57:53 +01:00
Erik Thuning
2948002b63
Refactored progress tracking to use an event. Removed a debug print.
2022-10-27 16:09:29 +02:00
Erik Thuning
1a661ac4e9
Trying to make the distinction between a video element ('source')
...
and its parent div ('stream') less confusing
2022-10-27 15:43:48 +02:00
Erik Thuning
3d8d2b44e8
Implemented elapsed counter
2022-10-27 14:30:26 +02:00
Erik Thuning
a84e1ff781
Formatting
2022-10-27 14:30:05 +02:00
Erik Thuning
3be3acc90f
Finished stream switching logic, no idea why it works this way
2022-10-26 21:10:08 +02:00