Commit Graph

109 Commits

Author SHA1 Message Date
17ae2648ed Modify use of module (Only if video settings are default)
Following remark at https://github.com/iv-org/invidious/pull/2895#issuecomment-1037279953
2022-02-14 17:01:10 +01:00
c952754c8c Add videojs-persist plugin 2022-02-14 17:01:10 +01:00
53d349a648 Inline a few JS functions
Helps sending less bytes to the client.
2022-02-08 01:37:57 +01:00
3c882cff6e player shortcuts: ignore numpad 2022-02-08 01:26:51 +01:00
7e4690e43c Fix typos 2022-02-07 14:57:14 +02:00
f013a6b1d7 rename hls to vhs in the player
hls method is deprecated: https://github.com/videojs/http-streaming#how-to-use
2022-01-30 15:22:31 +00:00
edcc155482 Merge pull request #2744 from tirz/feature-fix_null_ptr_for_localStorage
fix: null ptr while retaining video time
2022-01-05 03:23:22 +01:00
d59323a601 Add check to avoid saving player pos to the
length of the given video by saving a minimum of 15 at the end
2021-12-31 03:24:08 +01:00
0453d08eed fix: null ptr while retaining time 2021-12-26 13:45:27 +01:00
ed6476b5ea Allow the t parameter to override the stored video playback position 2021-12-15 19:38:58 +01:00
5abe7fe123 Rename 'remember_position' to 'save_player_pos' for clarity 2021-12-15 19:37:55 +01:00
b6792cf02e Added default value for get_video_time() which was causing a bug in safari 2021-12-15 19:37:55 +01:00
1261323c66 Remove console.log debugging 2021-12-15 19:37:55 +01:00
2a45b4eba0 Save and load the position for the video using a local storage object, the object is a dictionary, where the key is the video ID, and the value is the time at which the user last left off watching the video. If the user deselected the 'remember video position' checkbox in the preferences this dictionary is cleared 2021-12-15 19:37:55 +01:00
5054510d15 Prevent VR from being initialized in listen mode (#2396) 2021-09-15 01:37:23 +02:00
50c8afb525 Handle equirectangular projections for VR (#2379) 2021-09-10 07:42:39 +00:00
6e6f4d5a37 Allow configurable support of interactive 360 vid 2021-05-23 09:22:37 -07:00
f06053b1cf Fix projection settings for VR 2021-05-23 09:22:37 -07:00
df0cd30236 Add support for VR videos through videojs-vr 2021-05-23 09:22:29 -07:00
75e5b49c3a Merge pull request #2008 from syeopite/mobile-ui
Improve player controls for mobile devices
2021-05-13 10:33:47 +02:00
d6585d7583 Overhaul Invidious's "Youtube" player style 2021-05-03 04:22:17 -07:00
1924d75c2b Improve mobile user interface for video player 2021-05-03 03:44:33 -07:00
53cdb04be7 Improve mobile ux with videojs-mobile-ui 2021-05-03 03:44:33 -07:00
bc5c0f65b8 Add watch on Invidious button to embeds 2021-04-08 04:15:15 -07:00
bcb44ab600 Merge branch 'master' into patch-1 2021-02-26 19:59:16 +01:00
9b79e35d52 do not preload captions 2021-02-24 01:02:55 -05:00
3b484c362e Skip duration multiply by playback rate
Fast Forward/Backward like YouTube. The skip duration is multiplied by playback rate.
2021-02-17 21:33:26 +08:00
121224b1b0 Fix ; () {} 2021-02-10 01:05:29 +08:00
ddd7f3f384 Update player.js 2021-02-03 11:50:14 +08:00
a6970e02f9 Fix double duration on all Apple devices
The fix will be applied when Safari browser is detected.
2021-02-02 21:25:13 +08:00
685902adab Update player.js
Fixes audio mode duration doubled in iPhone iOS browsers. The player will stop after reaching the real duration. 
iOS() checks both iOS and iPadOS. 
Only tested on iPhone iOS browsers. Testers needed for behavior of iPadOS and MacOS.
2021-02-01 15:59:27 +08:00
3046350cb2 Fix DASH playback bug. 2021-01-17 14:59:18 +00:00
c7e65ce795 Merge pull request #1619 from tenpura-shrimp/ignorevideoplayback
do not add local to xhr when in videoplayback
2021-01-13 10:01:03 +01:00
5a08dfa72f fix incorrect use of setinterval in js 2021-01-10 17:05:08 -05:00
ac0ed14eae do not add local to xhr when in videoplayback 2020-12-29 17:58:24 -05:00
eed78c960d Improve DASH quality preference
Besides `auto`, `best` and `worst` it is now possible to select a target height.
If the target height is not available the closest lower height is selected.
2020-12-19 18:37:41 +01:00
eea7ca9b72 Add DASH quality preference
The options are `auto` (the current and default behavior), `best` and `worst`.

The UI is only updated once playback starts.
2020-12-19 18:37:30 +01:00
0cb442d40e do not proxy hls on supported browser 2020-12-08 00:53:48 -05:00
3379f3ef61 Update videojs-vtt-thumbnails to latest upstream version
Note that the latest version on NPM is over two years old so this was built from source.
2020-11-08 22:02:25 +01:00
3ab3a5a236 Merge pull request #713 from leonklingele/keydown-mediakeys-detection
js: add support to detect media keys in keydown handler
2020-09-09 03:15:21 +00:00
70cbe91776 Migrate to a good Content Security Policy (#1023)
So attacks such as XSS (see [0]) will no longer be of an issue.

[0]: https://github.com/omarroth/invidious/issues/1022
2020-03-15 16:46:08 -05:00
e3593fe197 js: add support to detect media keys in keydown handler
See [0] for all the relevant codes.

[0]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Multimedia_keys

Fixes a regression introduced in e6b4e12689.
Fixes https://github.com/omarroth/invidious/issues/712.
2020-03-01 17:43:19 +01:00
dd9f1024f4 Remove invalid HTML from embed player 2020-02-01 19:25:03 +01:00
58c1a68ad9 Change embed code 2020-01-04 15:27:45 +01:00
23ccaea2ff Fix comment event listener 2019-10-18 12:44:11 -04:00
acaf7b969a js: add support to detect alt, meta and control key in keydown handler (#704)
This fixes a quite severe user experience issue where pressing the
'alt', 'meta' and/or 'ctrl' key along with one of the supported keys
(e.g. 'f' to enter video fullscreen mode) would overwrite the default
browser behavior. In the case of 'f+meta' we would enter fullscreen
mode, and not open the browser search panel as one might expect.

This change is required to stay consistent with the way YouTube
handles keydown events.
2019-08-18 23:22:39 -05:00
e6b4e12689 js: add support for keydown events (#678)
* js: add support for keydown events

This will modify the player behavior even if the player element is unfocused.

Based on the YouTube key bindings, allow to

- toggle playback with space and 'k' key
- increase and decrease player volume with up / down arrow key
- mute and unmute player with 'm' key
- jump forwards and backwards by 5 seconds with right / left arrow key
- jump forwards and backwards by 10 seconds with 'l' / 'j'  key
- set video progress with number keys 0–9
- toggle captions with 'c' key
- toggle fullscreen mode with 'f' key
- play next video with 'N' key
- increase and decrease playback speed with '>' / '<' key

* js: remove unused dependency 'videojs.hotkeys.min.js'

Support for controlling the player volume by scrolling over it is
still retained by copying over the relevant code part from the
aforementioned library.
2019-08-16 16:01:14 -05:00
e8a56e0fea Add '1.75' playback speed 2019-07-14 10:13:40 -05:00
1477f99c2c Add target="_blank" to embed titles 2019-06-16 14:49:00 -05:00
2e1f9d5fa9 Fix title URL for embedded videos 2019-06-16 13:14:56 -05:00