HVEC WIP.
This commit is contained in:
parent
329d434c83
commit
a1dde6296a
5 changed files with 111 additions and 23 deletions
|
@ -76,6 +76,7 @@ app.name = 'LBRY';
|
||||||
app.setAppUserModelId('io.lbry.LBRY');
|
app.setAppUserModelId('io.lbry.LBRY');
|
||||||
app.commandLine.appendSwitch('force-color-profile', 'srgb');
|
app.commandLine.appendSwitch('force-color-profile', 'srgb');
|
||||||
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors');
|
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors');
|
||||||
|
app.commandLine.appendSwitch('enable-features', 'PlatformHEVCDecoderSupport');
|
||||||
|
|
||||||
if (isDev) {
|
if (isDev) {
|
||||||
// Disable security warnings in dev mode:
|
// Disable security warnings in dev mode:
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
"source-map-explorer": "^2.5.2",
|
"source-map-explorer": "^2.5.2",
|
||||||
"sudo-prompt": "^9.2.1",
|
"sudo-prompt": "^9.2.1",
|
||||||
"tempy": "^0.6.0",
|
"tempy": "^0.6.0",
|
||||||
|
"videojs-flvh265": "^1.0.8",
|
||||||
"videojs-logo": "^2.1.4"
|
"videojs-logo": "^2.1.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -125,7 +126,7 @@
|
||||||
"dom-scroll-into-view": "^1.2.1",
|
"dom-scroll-into-view": "^1.2.1",
|
||||||
"dotenv-defaults": "^2.0.1",
|
"dotenv-defaults": "^2.0.1",
|
||||||
"dotenv-webpack": "^1.8.0",
|
"dotenv-webpack": "^1.8.0",
|
||||||
"electron": "15.5.5",
|
"electron": "20.0.0",
|
||||||
"electron-builder": "^22.10.5",
|
"electron-builder": "^22.10.5",
|
||||||
"electron-devtools-installer": "^3.1.1",
|
"electron-devtools-installer": "^3.1.1",
|
||||||
"electron-is-dev": "^0.3.0",
|
"electron-is-dev": "^0.3.0",
|
||||||
|
|
|
@ -5,6 +5,7 @@ import * as ICONS from 'constants/icons';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
import videojs from 'video.js';
|
import videojs from 'video.js';
|
||||||
import 'video.js/dist/alt/video-js-cdn.min.css';
|
import 'video.js/dist/alt/video-js-cdn.min.css';
|
||||||
|
// import 'videojs-flvh265';
|
||||||
import eventTracking from 'videojs-event-tracking';
|
import eventTracking from 'videojs-event-tracking';
|
||||||
import * as OVERLAY from './overlays';
|
import * as OVERLAY from './overlays';
|
||||||
import './plugins/videojs-mobile-ui/plugin';
|
import './plugins/videojs-mobile-ui/plugin';
|
||||||
|
@ -153,6 +154,10 @@ export default React.memo<Props>(function VideoJs(props: Props) {
|
||||||
controlBar: {
|
controlBar: {
|
||||||
subsCapsButton: false,
|
subsCapsButton: false,
|
||||||
},
|
},
|
||||||
|
// techOrder: [
|
||||||
|
// 'html5',
|
||||||
|
// 'flvh265',
|
||||||
|
// ],
|
||||||
};
|
};
|
||||||
|
|
||||||
const { detectFileType, createVideoPlayerDOM } = functions({ source, sourceType, videoJsOptions, isAudio });
|
const { detectFileType, createVideoPlayerDOM } = functions({ source, sourceType, videoJsOptions, isAudio });
|
||||||
|
@ -284,6 +289,7 @@ export default React.memo<Props>(function VideoJs(props: Props) {
|
||||||
return (
|
return (
|
||||||
// $FlowFixMe
|
// $FlowFixMe
|
||||||
<div className={classnames('video-js-parent', { 'video-js-parent--ios': IS_IOS })} ref={containerRef}>
|
<div className={classnames('video-js-parent', { 'video-js-parent--ios': IS_IOS })} ref={containerRef}>
|
||||||
|
<video src={source} />
|
||||||
<Button
|
<Button
|
||||||
label={__('Tap to unmute')}
|
label={__('Tap to unmute')}
|
||||||
button="link"
|
button="link"
|
||||||
|
|
|
@ -135,6 +135,7 @@ export const makeSelectFileRenderModeForUri = (uri: string) =>
|
||||||
makeSelectMediaTypeForUri(uri),
|
makeSelectMediaTypeForUri(uri),
|
||||||
makeSelectFileExtensionForUri(uri),
|
makeSelectFileExtensionForUri(uri),
|
||||||
(contentType, mediaType, extension) => {
|
(contentType, mediaType, extension) => {
|
||||||
|
return RENDER_MODES.VIDEO;
|
||||||
if (mediaType === 'video' || FORCE_CONTENT_TYPE_PLAYER.includes(contentType)) {
|
if (mediaType === 'video' || FORCE_CONTENT_TYPE_PLAYER.includes(contentType)) {
|
||||||
return RENDER_MODES.VIDEO;
|
return RENDER_MODES.VIDEO;
|
||||||
}
|
}
|
||||||
|
|
123
yarn.lock
123
yarn.lock
|
@ -1490,7 +1490,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@electron/get@npm:^1.13.0":
|
"@electron/get@npm:^1.14.1":
|
||||||
version: 1.14.1
|
version: 1.14.1
|
||||||
resolution: "@electron/get@npm:1.14.1"
|
resolution: "@electron/get@npm:1.14.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -2802,10 +2802,10 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/node@npm:^14.6.2":
|
"@types/node@npm:^16.11.26":
|
||||||
version: 14.18.21
|
version: 16.11.57
|
||||||
resolution: "@types/node@npm:14.18.21"
|
resolution: "@types/node@npm:16.11.57"
|
||||||
checksum: 4ed35b76609647a4e36a194702e31cdda9ed42174ddaf7937bc5498984e98a99e8a42ea895ea17dd9c5ec18080112c29ab670c34f90eb9f7a4703b85b31e34fa
|
checksum: 7c34f5e50e38460fd0f18ae939ad62d5ecf992be7b9db7b1b86b9cc76a4d153b55bf3a94c6379da23df0803c11ad1a96be54c45d3ce612206cb8a18ce433028b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -3030,6 +3030,15 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/yauzl@npm:^2.9.1":
|
||||||
|
version: 2.10.0
|
||||||
|
resolution: "@types/yauzl@npm:2.10.0"
|
||||||
|
dependencies:
|
||||||
|
"@types/node": "*"
|
||||||
|
checksum: 55d27ae5d346ea260e40121675c24e112ef0247649073848e5d4e03182713ae4ec8142b98f61a1c6cbe7d3b72fa99bbadb65d8b01873e5e605cdc30f1ff70ef2
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@ungap/from-entries@npm:^0.2.1":
|
"@ungap/from-entries@npm:^0.2.1":
|
||||||
version: 0.2.1
|
version: 0.2.1
|
||||||
resolution: "@ungap/from-entries@npm:0.2.1"
|
resolution: "@ungap/from-entries@npm:0.2.1"
|
||||||
|
@ -5583,7 +5592,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"concat-stream@npm:^1.5.0, concat-stream@npm:^1.6.2":
|
"concat-stream@npm:^1.5.0":
|
||||||
version: 1.6.2
|
version: 1.6.2
|
||||||
resolution: "concat-stream@npm:1.6.2"
|
resolution: "concat-stream@npm:1.6.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -7299,16 +7308,16 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"electron@npm:15.5.5":
|
"electron@npm:20.0.0":
|
||||||
version: 15.5.5
|
version: 20.0.0
|
||||||
resolution: "electron@npm:15.5.5"
|
resolution: "electron@npm:20.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@electron/get": ^1.13.0
|
"@electron/get": ^1.14.1
|
||||||
"@types/node": ^14.6.2
|
"@types/node": ^16.11.26
|
||||||
extract-zip: ^1.0.3
|
extract-zip: ^2.0.1
|
||||||
bin:
|
bin:
|
||||||
electron: cli.js
|
electron: cli.js
|
||||||
checksum: bbb661b4a14321be382bb9d5f89893089b82b04abfc51f8e77971b87fe9e7aa26cd0d33fbb20333e12bf853edd4059f506f15b008392bdbaee80023d328ebfec
|
checksum: d8dadab7c5a77d7eb430becd74368340ed077897662cf5d91de713dd5739db355bfdbd8e3af8a92185454a78d4ec5ad89b9d24b791a8bcdc27b1b03d9e682abc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -8000,6 +8009,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"eventemitter3@npm:^3.1.0":
|
||||||
|
version: 3.1.2
|
||||||
|
resolution: "eventemitter3@npm:3.1.2"
|
||||||
|
checksum: 81e4e82b8418f5cfd986d2b4a2fa5397ac4eb8134e09bcb47005545e22fdf8e9e61d5c053d34651112245aae411bdfe6d0ad5511da0400743fef5fc38bfcfbe3
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"eventemitter3@npm:^4.0.0":
|
"eventemitter3@npm:^4.0.0":
|
||||||
version: 4.0.7
|
version: 4.0.7
|
||||||
resolution: "eventemitter3@npm:4.0.7"
|
resolution: "eventemitter3@npm:4.0.7"
|
||||||
|
@ -8234,17 +8250,20 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"extract-zip@npm:^1.0.3":
|
"extract-zip@npm:^2.0.1":
|
||||||
version: 1.7.0
|
version: 2.0.1
|
||||||
resolution: "extract-zip@npm:1.7.0"
|
resolution: "extract-zip@npm:2.0.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
concat-stream: ^1.6.2
|
"@types/yauzl": ^2.9.1
|
||||||
debug: ^2.6.9
|
debug: ^4.1.1
|
||||||
mkdirp: ^0.5.4
|
get-stream: ^5.1.0
|
||||||
yauzl: ^2.10.0
|
yauzl: ^2.10.0
|
||||||
|
dependenciesMeta:
|
||||||
|
"@types/yauzl":
|
||||||
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
extract-zip: cli.js
|
extract-zip: cli.js
|
||||||
checksum: 011bab660d738614555773d381a6ba4815d98c1cfcdcdf027e154ebcc9fc8c9ef637b3ea5c9b2144013100071ee41722ed041fc9aacc60f6198ef747cac0c073
|
checksum: 8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -11507,7 +11526,7 @@ __metadata:
|
||||||
dom-scroll-into-view: ^1.2.1
|
dom-scroll-into-view: ^1.2.1
|
||||||
dotenv-defaults: ^2.0.1
|
dotenv-defaults: ^2.0.1
|
||||||
dotenv-webpack: ^1.8.0
|
dotenv-webpack: ^1.8.0
|
||||||
electron: 15.5.5
|
electron: 20.0.0
|
||||||
electron-builder: ^22.10.5
|
electron-builder: ^22.10.5
|
||||||
electron-devtools-installer: ^3.1.1
|
electron-devtools-installer: ^3.1.1
|
||||||
electron-dl: ^3.2.0
|
electron-dl: ^3.2.0
|
||||||
|
@ -11620,6 +11639,7 @@ __metadata:
|
||||||
video.js: ^7.14.3
|
video.js: ^7.14.3
|
||||||
videojs-contrib-quality-levels: ^2.0.9
|
videojs-contrib-quality-levels: ^2.0.9
|
||||||
videojs-event-tracking: ^1.0.1
|
videojs-event-tracking: ^1.0.1
|
||||||
|
videojs-flvh265: ^1.0.8
|
||||||
videojs-logo: ^2.1.4
|
videojs-logo: ^2.1.4
|
||||||
villain-react: ^1.0.9
|
villain-react: ^1.0.9
|
||||||
wavesurfer.js: ^2.2.1
|
wavesurfer.js: ^2.2.1
|
||||||
|
@ -12805,7 +12825,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1":
|
"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1":
|
||||||
version: 0.5.6
|
version: 0.5.6
|
||||||
resolution: "mkdirp@npm:0.5.6"
|
resolution: "mkdirp@npm:0.5.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -12825,6 +12845,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"mobile-detect@npm:^1.4.3":
|
||||||
|
version: 1.4.5
|
||||||
|
resolution: "mobile-detect@npm:1.4.5"
|
||||||
|
checksum: 317d170f3bc27c3e36c3f4ab7809c33d20e81914147cdc74a8551f0ecad2c5ec067bd59dd1a240caf66c1df7fd793021a36677c3a6ed8bdf027d4715dc3f0973
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"modify-filename@npm:^1.1.0":
|
"modify-filename@npm:^1.1.0":
|
||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
resolution: "modify-filename@npm:1.1.0"
|
resolution: "modify-filename@npm:1.1.0"
|
||||||
|
@ -14730,6 +14757,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"promise-polyfill@npm:^8.1.3":
|
||||||
|
version: 8.2.3
|
||||||
|
resolution: "promise-polyfill@npm:8.2.3"
|
||||||
|
checksum: f320278bab8b8ce32f0e2f377d75aabe35c90a79f92b3e001db084d635da1fb8740ba8a26b5c1c2b4cdca5a4c988f9b6b3eb30f0b151d0362d3d9c1675024a8f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"promise-retry@npm:^2.0.1":
|
"promise-retry@npm:^2.0.1":
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
resolution: "promise-retry@npm:2.0.1"
|
resolution: "promise-retry@npm:2.0.1"
|
||||||
|
@ -19188,6 +19222,27 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"video.js@npm:^7":
|
||||||
|
version: 7.20.2
|
||||||
|
resolution: "video.js@npm:7.20.2"
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime": ^7.12.5
|
||||||
|
"@videojs/http-streaming": 2.14.2
|
||||||
|
"@videojs/vhs-utils": ^3.0.4
|
||||||
|
"@videojs/xhr": 2.6.0
|
||||||
|
aes-decrypter: 3.1.3
|
||||||
|
global: ^4.4.0
|
||||||
|
keycode: ^2.2.0
|
||||||
|
m3u8-parser: 4.7.1
|
||||||
|
mpd-parser: 0.21.1
|
||||||
|
mux.js: 6.0.1
|
||||||
|
safe-json-parse: 4.0.0
|
||||||
|
videojs-font: 3.2.0
|
||||||
|
videojs-vtt.js: ^0.15.3
|
||||||
|
checksum: 0542904a3d6523aeb2503465382c804adebbe4694b39005d3afe2538eb68e3fe2b58958af350bff68cba068a4b2d5fe2438bba643479ab1235f39a6dd08e2b31
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"videojs-contrib-quality-levels@npm:^2.0.9":
|
"videojs-contrib-quality-levels@npm:^2.0.9":
|
||||||
version: 2.1.0
|
version: 2.1.0
|
||||||
resolution: "videojs-contrib-quality-levels@npm:2.1.0"
|
resolution: "videojs-contrib-quality-levels@npm:2.1.0"
|
||||||
|
@ -19209,6 +19264,16 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"videojs-flvh265@npm:^1.0.8":
|
||||||
|
version: 1.0.8
|
||||||
|
resolution: "videojs-flvh265@npm:1.0.8"
|
||||||
|
dependencies:
|
||||||
|
video.js: ^7
|
||||||
|
wx-inline-player-new: ^1.0.9
|
||||||
|
checksum: e79624b89d5bf4d5e8b2f185815e42f6c56b88da9e70c71b9f96dd2cfa7810e10f5087d668769ca140bcda3cb55c6be0ab0fc1e7635857aaad41b46763c1edfa
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"videojs-font@npm:3.2.0":
|
"videojs-font@npm:3.2.0":
|
||||||
version: 3.2.0
|
version: 3.2.0
|
||||||
resolution: "videojs-font@npm:3.2.0"
|
resolution: "videojs-font@npm:3.2.0"
|
||||||
|
@ -19770,6 +19835,20 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"wx-inline-player-new@npm:^1.0.9":
|
||||||
|
version: 1.1.2
|
||||||
|
resolution: "wx-inline-player-new@npm:1.1.2"
|
||||||
|
dependencies:
|
||||||
|
buffer: ^5.2.1
|
||||||
|
eventemitter3: ^3.1.0
|
||||||
|
inherits: ^2.0.4
|
||||||
|
mobile-detect: ^1.4.3
|
||||||
|
object-assign: ^4.1.1
|
||||||
|
promise-polyfill: ^8.1.3
|
||||||
|
checksum: 8e660b9dff003ff26902eb339abefb7e6bf8265feb657433ab3230d9f3cb6fa4c17204c8444cf0e592fc3aaec2d0233848571757bb542d6d2ea6adce12e0fe69
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"x-is-string@npm:^0.1.0":
|
"x-is-string@npm:^0.1.0":
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
resolution: "x-is-string@npm:0.1.0"
|
resolution: "x-is-string@npm:0.1.0"
|
||||||
|
|
Loading…
Reference in a new issue