Commit graph

220 commits

Author SHA1 Message Date
DispatchCommit
d8564cda5a hack-y solution to losing player context
use a global window variable to store the reference to the current video.js instance.
2021-01-26 11:00:41 -05:00
DispatchCommit
68ae2d571f only react to source prop updates 2021-01-26 11:00:41 -05:00
DispatchCommit
7c8383f2dc attempt to persist a single video.js instance
Continually recreating video.js instance on render is bad.
Instead, persist a single instance, and simply update the source and poster on the existing instance.
2021-01-26 11:00:41 -05:00
infiinte-persistence
855d13e735 Add "t" as shortcut for Theather Mode 2021-01-25 10:38:25 -05:00
DispatchCommit
bb3354581a fix overrideNative option for vjs
resolves https://github.com/lbryio/lbry-desktop/issues/5323
2021-01-20 21:49:08 -05:00
Sean Yesmunt
21cbb64001 Revert "Add Chromecast support on Google Chrome."
This reverts commit 65ce47a7d1.
2021-01-20 15:14:00 -05:00
Sean Yesmunt
c166060f0d Revert "Pass the title and channel name to Chromecast."
This reverts commit bb828385d0.
2021-01-20 15:14:00 -05:00
infiinte-persistence
bb828385d0 Pass the title and channel name to Chromecast.
I'm a bit wary of adding props to this component due to the 'dispose' call, but I think 'source' and 'claim' will update together, so it shouldn't be an issue?
2021-01-19 10:29:28 -05:00
infiinte-persistence
65ce47a7d1 Add Chromecast support on Google Chrome. 2021-01-19 10:29:28 -05:00
infiinte-persistence
95b4f89e50 Make 'playback rate' persistent
## Issue
5308: Ability to choose default play speed and theatre mode or regular playback size

## Comments
Initially, I used the local storage, as per 'muted' and 'volume' -- I thought that would be appropriate.
Later, I saw that Theater Mode is already using Client Settings, so I re-did everything to match that.

Also, there is an accompanying commit in lbyr-redux.
2021-01-19 10:16:46 -05:00
Sean Yesmunt
80a7cbe16f add quality selector to transcoded videos 2021-01-15 10:34:41 -05:00
Sean Yesmunt
d43c4d053e add video theater mode button 2021-01-08 08:27:41 -07:00
Sean Yesmunt
eb398c419a turn it back on but head 2021-01-06 23:03:23 -05:00
Sean Yesmunt
d92f6d3e18 comment out redirect handling for transcoded streams 2021-01-06 18:40:38 -05:00
Sean Yesmunt
2436c3eb70 add extra check for video source response 2021-01-04 15:19:54 -05:00
Sean Yesmunt
f59cdb1929 fix for hls support 2021-01-04 15:04:36 -05:00
Sean Yesmunt
a8cb4d7d57 update videojs import to include http-streaming module
so we can support hls streams
2020-12-28 13:44:38 -05:00
infiinte-persistence
49abbecbd7 mobile-ui: Fix missing chromecast button in Android-Chrome
## Issue:
5119 "Video: Mobile UI + overlay for keyboard shortcut feedback" was disabled because the feature broke the chromecast button in Android Chrome
2020-12-21 12:15:45 -05:00
infiinte-persistence
4a4247180f Revert "comment out mobileUI function until chromecast bug is fixed"
This reverts commit d8c4ff62cb.
2020-12-21 12:15:45 -05:00
infiinte-persistence
897128a168 Restore "Handle timestamp in Markdown."
This reverts the revertion in:
- 85f8965d44.
- d3f0e471e5.
2020-12-18 11:35:47 -05:00
Sean Yesmunt
d8c4ff62cb comment out mobileUI function until chromecast bug is fixed 2020-12-15 17:03:32 -05:00
Sean Yesmunt
0d4659472b remove old ads code and disable videojs mobile plugin 2020-12-15 14:10:57 -05:00
Sean Yesmunt
85f8965d44 Revert "Handle timestamp in Markdown."
This reverts commit 3f1913e5f4.
2020-12-14 22:31:18 -05:00
infiinte-persistence
3f1913e5f4 Handle timestamp in Markdown.
The videojs player is exposed through the 'window' object.
2020-12-14 12:12:50 -05:00
infinite-persistence
04fbde49ec
Video: Mobile UI + overlay for keyboard shortcut feedback (#5119)
Co-authored-by: import <>
2020-12-14 11:40:59 -05:00
zeppi
b736444306 player started event (embedded) 2020-11-30 14:52:05 -05:00
infiinte-persistence
28e7fec338 videojs: Add shortcuts for Playback-Rate
">" (shift + .) = Speed Up
"<" (shift + ,) = Speed Down
2020-11-23 13:12:22 -05:00
infiinte-persistence
18debf51cd FloatingPlayer: fix unusable volume slider in fp-mode
4913: Can't slide volume slider in pop out mode

I first tried to handle this at the floating player level, but it was impossible to hack there due to how 'react-draggable' works (it already moved the window before the "move" handler is called, so we can't do much).

Fix by overriding the dragging behavior of the videojs' VolumeBar class by not propagating the event further. It is odd that videojs didn't already do this, since it's SeekBar does stop the propagation.
2020-11-16 10:38:29 -05:00
Sean Yesmunt
c21fef5b24 new ads provider 2020-11-05 12:21:32 -05:00
Sean Yesmunt
fd5cde08c3 add back video player on adstest pagegaa 2020-11-04 12:00:31 -05:00
Sean Yesmunt
cb50b8a9bc Revert "Improve IOS inline experience"
This reverts commit 9b38ba6c02.
2020-11-02 17:15:02 -05:00
Sean Yesmunt
e6016538b4 add ads script to head for test 2020-11-02 12:01:58 -05:00
Sean Yesmunt
52eb4de7a9 add adstest page to test player ads 2020-10-30 00:20:42 -04:00
Thomas Zarebczan
9b38ba6c02 Improve IOS inline experience
Also puts back the video js player which has rate support - but it's hidden on smaller devices...maybe someone can fix later on.
2020-10-29 17:02:40 -04:00
Sean Yesmunt
295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -04:00
Sean Yesmunt
1f2fabe81b Use sentence case for all card titles 2020-09-29 17:12:32 -04:00
Sean Yesmunt
bba539f846 Revert "Revert "add logging of player point of presence""
This reverts commit 4067e1ffd8.
2020-09-09 14:55:16 -04:00
Sean Yesmunt
4067e1ffd8 Revert "add logging of player point of presence"
This reverts commit fb142f7699.
2020-09-09 14:40:43 -04:00
Jeremy Kauffman
fb142f7699 add logging of player point of presence 2020-09-09 10:48:15 -04:00
Sean Yesmunt
2f995be794 use new buffer analytics api 2020-08-07 22:54:29 -04:00
jessop
d9bf72a351 all settings constants come from redux
sync settings

backout nav cases and anon preference key

more robust backout header

put notificationSettings under backout bar

review changes
2020-07-27 11:53:14 -04:00
infiinte-persistence
8e7604ec33 Video: Consolidate showTapButton() into a single call since the functionality is mutually exclusive. 2020-07-15 16:10:10 -04:00
infiinte-persistence
7bef092013 Add option to retry video stream on failure
## Issue
Closes 4475 Option to retry video stream on failure
2020-07-15 16:10:10 -04:00
infiinte-persistence
115c456318 Video: Stop loading circle when there's an error. 2020-07-15 16:10:10 -04:00
infiinte-persistence
5e51016602 VideoJSOptions: Remove duplicate poster declaration 2020-07-15 16:10:10 -04:00
infiinte-persistence
833bceeacc Fix unmuted state lost or reverted when playing a new video.
## Issue
Fixes 4460 `unmuted state lost / reverted`

1. Play a video.
2. Press mute.
3. Drag the volume bar to unmute.
4. Play a new video --> the video starts muted.

## Fix
The `volumechange` handler was comparing against stale variables, so there are times where the state was not saved. Just save both `muted` and `volume` without additional gating (the gating is probably unnecessary in the first place, since we are in a onChange function).
2020-07-07 09:28:04 -04:00
infiinte-persistence
d01c20394e Fix "muted=false + volume=0" case.
We need to handle two types of "mute":
- Volume icon is pressed to mute.
- Volume slider moved to 0%.
2020-06-16 17:14:22 -04:00
infiinte-persistence
662778c47b Use 'process.env.NODE_ENV' instead of 'electron-is-dev' for spewing debug logs. 2020-06-16 17:14:22 -04:00
infiinte-persistence
a20ea08ac7 Show "unmute" option on videos automatically muted by browser.
Implementation:
- The code is placed in <VideoJs> instead of <VideoViewer> as we need to control the video itself. It's more self-contained here, rather than trying to pass refs around between parent and child.
- useState cannot be used as it will cause a re-render when the hint it clicked and dismissed. The DOM is used to hide the button.
2020-06-16 17:14:22 -04:00
Sean Yesmunt
2066205b8f add user + rewards redux code from lbryinc 2020-06-16 09:56:32 -04:00
jessop
e3c2919373 rename lbrytv to web
language and API consts

improve customization
custom homepages
get config from .env.default
custom title and logo

small changes

add pinned item to sidebar

rebase?
2020-05-25 17:21:02 -04:00
Sean Yesmunt
74dc6f4469 use nativeControls for ios devices 2020-05-25 10:36:17 -04:00
Sean Yesmunt
21f9fc7b31 Revert "Make sure native controls appear on touch devices Closes #4150"
This reverts commit 88f4329d34.
2020-05-22 10:30:56 -04:00
Jeffrey Fisher
88f4329d34 Make sure native controls appear on touch devices
Closes #4150
2020-05-21 13:28:34 -04:00
Sean Yesmunt
c2abcf110c
Paid content on lbry.tv (#4197) 2020-05-21 11:38:28 -04:00
Jeffrey Fisher
394fad5754 Clear media position if video has played to the end.
Closes #4174
2020-05-15 09:51:18 -04:00
btzr-io
c19d04f83e fix comic-book content-type detection
always show viewer: fix #4141

minor improvements for loading indicator
2020-05-13 10:18:36 -04:00
btzr-io
036cf734c6 prevent state updates after component unmounted 2020-05-13 10:18:36 -04:00
Baltazar Gomez
c8f21025d1 initial web support 2020-05-13 10:18:36 -04:00
Baltazar Gomez
1992e78c2e update comicbook viewer
- convert to functional component
- use hooks to load stream
2020-05-13 10:18:36 -04:00
Sean Yesmunt
ff429117cd make sure player callback has access to latest desktop start time 2020-05-05 16:47:27 -04:00
Sean Yesmunt
96d9e24a4b fix time to start analytics for desktop and fix rewards link 2020-05-05 14:04:52 -04:00
Sean Yesmunt
db51789e07 pass time in ms to analytics for view apis 2020-05-05 10:09:53 -04:00
Jeffrey Fisher
7ea9c1c199 Only save media position on pause or dispose, not every timeupdate, for performance reasons. 2020-05-01 10:14:29 -04:00
Jeffrey Fisher
c1f74aba2e Save media position in video viewer
Closes #2775
2020-05-01 10:14:29 -04:00
Sean Yesmunt
1a50e697ce embed functionality inside markdown posts 2020-04-30 10:13:01 -04:00
Sean Yesmunt
c9f5813b81 try twice when the first play fails from a timeout 2020-04-29 11:00:42 -04:00
Sean Yesmunt
b61907ad22 update timeout 2020-04-29 11:00:42 -04:00
Sean Yesmunt
dd4cd9314c style fixes 2020-04-29 11:00:42 -04:00
Sean Yesmunt
767c69e132 cleanup and fix flow issues 2020-04-29 11:00:42 -04:00
Sean Yesmunt
0754bb1a7f hide double video controls on ios 2020-04-29 11:00:42 -04:00
Sean Yesmunt
04ee4afdc2 test with promise.race 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
94a5dc47af adjust volume earlier 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
e23ae63c74 disable loading screen 2020-04-29 11:00:42 -04:00
Sean Yesmunt
4a6d9c7292 add log 2020-04-29 11:00:42 -04:00
Sean Yesmunt
ad8cdd130f call play() programatically instead of using autoplay flag 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
1a06ddca3b always restore player volume settings on first play 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
ab74052446 hackish change to get mute/volume reset working 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
c89b69f6fc callback player ready 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
6c8b0b2d68 maybe ready 2020-04-29 11:00:42 -04:00
Sean Yesmunt
9db9363b9f fix unwanted re-renders 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
e4829c8ce1 broken demonstration 2020-04-29 11:00:42 -04:00
Jeremy Kauffman
793f622d8d semi-broken 2020-04-29 11:00:42 -04:00
btzr-io
e4d822f818 Fix and enable 3D viewer: #4035
Fix 3d viewer styles

Fix minor warnings from three.js

Remove deprecated themes

Fix #4074
2020-04-27 14:27:04 -04:00
btzr-io
8b6c644415 fix comic book viewer styles: #4035 2020-04-27 10:00:08 -04:00
Jeffrey Fisher
e6a044d8e1 Fix flow error.
Partial fix for #2024
2020-04-21 17:12:31 -04:00
Jeffrey Fisher
bfb2584970 Remove defaultExpand attribute so card is not collapsable 2020-04-21 17:07:56 -04:00
Jeffrey Fisher
b786ba82ae First attempt to fix #3993. Show error message
if image is not able to be displayed by browser.
2020-04-21 17:07:56 -04:00
Baltazar Gomez
3d3223eab8 fix comicbook viewer 2020-04-16 12:22:19 -04:00
Sean Yesmunt
7218b78746 fetch continent cookie on server-side and clean up video effects 2020-04-08 15:12:22 -04:00
Sean Yesmunt
39102d81ca fix viewcount being fired before video starts playing 2020-04-06 15:34:49 -04:00
Jeremy Kauffman
872259b73a
File downloads and refactoring (#3918)
* am I done?

* post diff

* unused selector cleanup

* missed commit

* mess with button styles

* fix flow

Co-authored-by: Jeremy Kauffman <jeremy@lbry.io>
Co-authored-by: Sean Yesmunt <sean@lbry.io>
2020-04-01 14:43:50 -04:00
Thomas Zarebczan
829c2eac50 small fixes 2020-03-30 09:05:30 -04:00
Jeremy Kauffman
ef4d8f5988 best 7 lines ever 2020-03-19 16:38:24 -04:00
Sean Yesmunt
3eae6f8fdf temporarily disable lbry-format apps 2020-03-10 10:03:20 -07:00
Yamboy1
7cb187907d Remove alert 2020-02-07 09:21:28 -05:00
Yamboy1
9cc19936eb Add integrated light theme 2020-02-07 09:21:28 -05:00
Yamboy1
222287d4b7 Fix sizing for html files and add loading indicator 2020-02-07 09:21:28 -05:00
Yamboy1
da58818198 Update codemirror theme when global theme changes 2020-02-07 09:21:28 -05:00
Yamboy1
f990e4bd16 Codebox theming 2020-02-07 09:21:28 -05:00
jessop
9f1d4e3688 embed improvements
- autoplay=true param
- mute on autoplay
- thumb poster on embeds (unless autoplay)
- twitter player card for audio too
2020-02-05 16:50:18 -05:00
Dalton
d191be8771 fixes #3498 - blurs the fullscreen button to prevent spacebar from selecting it again
ts-ignore -> flowFixMe
2020-02-03 09:20:12 -05:00
jessop
a1e24d6dcc actually disable autoplay in embeds 2020-01-31 13:33:21 -05:00
Sean Yesmunt
d312a8e8b6 basic autoplay timer working 2020-01-28 09:35:39 -05:00
jessop
31fa714ef5 send player events as timing events 2020-01-27 09:20:31 -05:00
jessop
fab7dfdb41 add review changes 2020-01-24 13:41:09 -05:00
jessop
75410392d8 send events when video buffers 2020-01-24 13:41:09 -05:00
Sean Yesmunt
72b9f3efdd new text viewer layout 2020-01-06 16:35:43 -05:00
Thomas Zarebczan
1687edb945 fix: mobile + m4v video 2019-12-22 17:52:21 -05:00
Sean Yesmunt
35ed493af4 i18n fix 2019-12-11 10:40:05 -05:00
Sean Yesmunt
2bc4ca0c22 revert autoplay fix 2019-12-09 10:34:22 -05:00
Sean Yesmunt
27f1b4fa01 make sure player is paused when unmounting 2019-12-04 12:05:33 -05:00
Sean Yesmunt
613c8f7a10 improve autoplay on chrome 2019-12-03 13:56:30 -05:00
Jeremy Kauffman
24edbc085c disable link prompts 2019-12-03 11:50:39 -05:00
Thomas Zarebczan
4e55415763 fix: unused variable 2019-12-02 23:25:37 -05:00
Thomas Zarebczan
722c0b978c feat: additional file types on lbry.tv
Should support markdown, PDF, and anything in the code viewer. Tested that it's working on web and app.
2019-12-02 23:25:37 -05:00
Thomas Zarebczan
70eb909e94 revert autoplay setting
This causes issues in firefox, but fixed the bugs on Chrome. Instead, we should control it ourselves eventually: https://lbry.tv/jiggytom?src=open
2019-11-28 13:21:39 -05:00
Thomas Zarebczan
8c5b109e91 player enhancements
Tries more video types
Enables thumbnail with audio files
potentially better autoplay support
2019-11-28 03:14:07 -05:00
btzr-io
ef7d5394dc update comicbook-reader to last version 2019-11-25 11:40:19 -05:00
Sean Yesmunt
6ad31a3ce9 refactor lbrytv web server 2019-11-11 13:27:29 -05:00