@scrypted/libav 1.0.125 → 1.0.127
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +3 -1
- package/lib/index.js +30 -10
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +34 -13
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare function isLoaded(): boolean;
|
|
2
|
+
export declare function getAddonPath(installPath?: string): string;
|
|
3
|
+
export declare function getFFmpegPath(installPath?: string): string;
|
|
2
4
|
export declare function loadAddon(addonPath?: string, nr?: NodeRequire): any;
|
|
3
|
-
export declare function install(installPath?: string, nr?: NodeRequire): Promise<void>;
|
|
5
|
+
export declare function install(installPath?: string, nr?: NodeRequire | null): Promise<void>;
|
|
4
6
|
export declare function downloadAddon(installPath?: string): Promise<void>;
|
|
5
7
|
export interface AVFrame extends AVTimeBase {
|
|
6
8
|
readonly width: number;
|
package/lib/index.js
CHANGED
|
@@ -57,6 +57,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
57
57
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
58
|
exports.version = void 0;
|
|
59
59
|
exports.isLoaded = isLoaded;
|
|
60
|
+
exports.getAddonPath = getAddonPath;
|
|
61
|
+
exports.getFFmpegPath = getFFmpegPath;
|
|
60
62
|
exports.loadAddon = loadAddon;
|
|
61
63
|
exports.install = install;
|
|
62
64
|
exports.downloadAddon = downloadAddon;
|
|
@@ -78,7 +80,17 @@ let addon;
|
|
|
78
80
|
function isLoaded() {
|
|
79
81
|
return !!addon;
|
|
80
82
|
}
|
|
81
|
-
function
|
|
83
|
+
function getReleasePath(installPath) {
|
|
84
|
+
return path_1.default.join(installPath, 'build/Release');
|
|
85
|
+
}
|
|
86
|
+
const packagePath = path_1.default.join(__dirname, '..');
|
|
87
|
+
function getAddonPath(installPath = packagePath) {
|
|
88
|
+
return path_1.default.join(getReleasePath(installPath), 'addon.node');
|
|
89
|
+
}
|
|
90
|
+
function getFFmpegPath(installPath = packagePath) {
|
|
91
|
+
return path_1.default.join(getReleasePath(installPath), process.platform === 'win32' ? 'ffmpeg.exe' : 'ffmpeg');
|
|
92
|
+
}
|
|
93
|
+
function loadAddon(addonPath = getAddonPath(), nr = require) {
|
|
82
94
|
if (isLoaded())
|
|
83
95
|
return addon;
|
|
84
96
|
addon = nr(addonPath);
|
|
@@ -86,19 +98,27 @@ function loadAddon(addonPath = '../build/Release/addon', nr = require) {
|
|
|
86
98
|
}
|
|
87
99
|
let installing;
|
|
88
100
|
async function install(installPath, nr = require) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const addonPath = path_1.default.join(installPath || '', 'build/Release/addon');
|
|
94
|
-
try {
|
|
95
|
-
loadAddon(addonPath, nr);
|
|
96
|
-
return;
|
|
101
|
+
const addonPath = getAddonPath(installPath);
|
|
102
|
+
if (!nr) {
|
|
103
|
+
if (fs_1.default.existsSync(addonPath))
|
|
104
|
+
return;
|
|
97
105
|
}
|
|
98
|
-
|
|
106
|
+
else {
|
|
107
|
+
if (isLoaded())
|
|
108
|
+
return;
|
|
109
|
+
if (installing)
|
|
110
|
+
return installing;
|
|
111
|
+
try {
|
|
112
|
+
loadAddon(addonPath, nr);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
}
|
|
99
117
|
}
|
|
100
118
|
installing = (async () => {
|
|
101
119
|
await downloadAddon(installPath);
|
|
120
|
+
if (!nr)
|
|
121
|
+
return;
|
|
102
122
|
loadAddon(addonPath, nr);
|
|
103
123
|
})()
|
|
104
124
|
.finally(() => {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,4BAEC;AAED,8BAKC;AAGD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -2,10 +2,10 @@ import detectLibc from 'detect-libc';
|
|
|
2
2
|
import { once } from 'events';
|
|
3
3
|
import { https } from 'follow-redirects';
|
|
4
4
|
import fs from 'fs';
|
|
5
|
+
import { IncomingMessage } from 'http';
|
|
5
6
|
import path from 'path';
|
|
6
7
|
import { x as tarx } from 'tar';
|
|
7
8
|
import packageJson from '../package.json';
|
|
8
|
-
import { IncomingMessage } from 'http';
|
|
9
9
|
|
|
10
10
|
let addon: any;
|
|
11
11
|
|
|
@@ -13,7 +13,20 @@ export function isLoaded() {
|
|
|
13
13
|
return !!addon;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
function getReleasePath(installPath: string) {
|
|
17
|
+
return path.join(installPath, 'build/Release');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const packagePath = path.join(__dirname, '..');
|
|
21
|
+
export function getAddonPath(installPath = packagePath) {
|
|
22
|
+
return path.join(getReleasePath(installPath), 'addon.node');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function getFFmpegPath(installPath = packagePath) {
|
|
26
|
+
return path.join(getReleasePath(installPath), process.platform === 'win32' ? 'ffmpeg.exe' : 'ffmpeg');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function loadAddon(addonPath = getAddonPath(), nr: NodeRequire = require) {
|
|
17
30
|
if (isLoaded())
|
|
18
31
|
return addon;
|
|
19
32
|
addon = nr(addonPath);
|
|
@@ -21,23 +34,31 @@ export function loadAddon(addonPath = '../build/Release/addon', nr: NodeRequire
|
|
|
21
34
|
}
|
|
22
35
|
|
|
23
36
|
let installing: Promise<void> | undefined;
|
|
24
|
-
export async function install(installPath?: string, nr: NodeRequire = require) {
|
|
25
|
-
|
|
26
|
-
|
|
37
|
+
export async function install(installPath?: string, nr: NodeRequire | null = require) {
|
|
38
|
+
const addonPath = getAddonPath(installPath);
|
|
39
|
+
if (!nr) {
|
|
40
|
+
if (fs.existsSync(addonPath))
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
if (isLoaded())
|
|
45
|
+
return;
|
|
27
46
|
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
if (installing)
|
|
48
|
+
return installing;
|
|
30
49
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
try {
|
|
51
|
+
loadAddon(addonPath, nr);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
}
|
|
37
56
|
}
|
|
38
57
|
|
|
39
58
|
installing = (async () => {
|
|
40
59
|
await downloadAddon(installPath);
|
|
60
|
+
if (!nr)
|
|
61
|
+
return;
|
|
41
62
|
loadAddon(addonPath, nr);
|
|
42
63
|
})()
|
|
43
64
|
.finally(() => {
|