@omnimedia/omnitool 1.1.0-52 → 1.1.0-55
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/package.json +1 -1
- package/s/demo/routines/transcode-test.ts +2 -2
- package/s/demo/routines/transitions-test.ts +2 -2
- package/s/driver/driver.ts +26 -5
- package/s/driver/fns/schematic.ts +2 -0
- package/s/driver/fns/work.ts +41 -20
- package/s/timeline/parts/waveform.ts +1 -1
- package/s/timeline/renderers/export/parts/cursor.ts +75 -56
- package/s/timeline/renderers/export/parts/produce-video.ts +2 -3
- package/s/timeline/renderers/player/parts/playback.ts +33 -6
- package/s/timeline/renderers/player/player.ts +2 -14
- package/s/timeline/renderers/renderers.test.ts +1 -3
- package/s/timeline/sugar/o.ts +10 -10
- package/x/demo/demo.bundle.min.js +9 -9
- package/x/demo/demo.bundle.min.js.map +4 -4
- package/x/demo/routines/transcode-test.js +2 -2
- package/x/demo/routines/transcode-test.js.map +1 -1
- package/x/demo/routines/transitions-test.js +2 -2
- package/x/demo/routines/transitions-test.js.map +1 -1
- package/x/driver/driver.d.ts +14 -2
- package/x/driver/driver.js +26 -5
- package/x/driver/driver.js.map +1 -1
- package/x/driver/driver.worker.bundle.min.js +1 -1
- package/x/driver/driver.worker.bundle.min.js.map +3 -3
- package/x/driver/fns/host.d.ts +2 -0
- package/x/driver/fns/schematic.d.ts +2 -0
- package/x/driver/fns/work.d.ts +2 -0
- package/x/driver/fns/work.js +33 -20
- package/x/driver/fns/work.js.map +1 -1
- package/x/index.html +2 -2
- package/x/tests.bundle.min.js +16 -16
- package/x/tests.bundle.min.js.map +4 -4
- package/x/tests.html +1 -1
- package/x/timeline/parts/waveform.js +1 -1
- package/x/timeline/parts/waveform.js.map +1 -1
- package/x/timeline/renderers/export/parts/cursor.d.ts +4 -5
- package/x/timeline/renderers/export/parts/cursor.js +68 -50
- package/x/timeline/renderers/export/parts/cursor.js.map +1 -1
- package/x/timeline/renderers/export/parts/produce-video.js +2 -3
- package/x/timeline/renderers/export/parts/produce-video.js.map +1 -1
- package/x/timeline/renderers/player/parts/playback.d.ts +9 -5
- package/x/timeline/renderers/player/parts/playback.js +25 -6
- package/x/timeline/renderers/player/parts/playback.js.map +1 -1
- package/x/timeline/renderers/player/player.js +2 -9
- package/x/timeline/renderers/player/player.js.map +1 -1
- package/x/timeline/renderers/renderers.test.js +1 -2
- package/x/timeline/renderers/renderers.test.js.map +1 -1
- package/x/timeline/sugar/o.d.ts +1 -0
- package/x/timeline/sugar/o.js +10 -10
- package/x/timeline/sugar/o.js.map +1 -1
package/x/driver/fns/host.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ export declare const setupDriverHost: (machina: Machina) => import("@e280/comrad
|
|
|
4
4
|
hello(): Promise<void>;
|
|
5
5
|
decodeAudio(input: {
|
|
6
6
|
source: import("./schematic.js").DecoderSource;
|
|
7
|
+
cancel: MessagePort;
|
|
7
8
|
audio: WritableStream<AudioData>;
|
|
8
9
|
start?: number;
|
|
9
10
|
end?: number;
|
|
10
11
|
}): Promise<void>;
|
|
11
12
|
decodeVideo(input: {
|
|
12
13
|
source: import("./schematic.js").DecoderSource;
|
|
14
|
+
cancel: MessagePort;
|
|
13
15
|
video: WritableStream<VideoFrame>;
|
|
14
16
|
start?: number;
|
|
15
17
|
end?: number;
|
|
@@ -8,12 +8,14 @@ export type DriverSchematic = AsSchematic<{
|
|
|
8
8
|
hello(): Promise<void>;
|
|
9
9
|
decodeAudio(input: {
|
|
10
10
|
source: DecoderSource;
|
|
11
|
+
cancel: MessagePort;
|
|
11
12
|
audio: WritableStream<AudioData>;
|
|
12
13
|
start?: number;
|
|
13
14
|
end?: number;
|
|
14
15
|
}): Promise<void>;
|
|
15
16
|
decodeVideo(input: {
|
|
16
17
|
source: DecoderSource;
|
|
18
|
+
cancel: MessagePort;
|
|
17
19
|
video: WritableStream<VideoFrame>;
|
|
18
20
|
start?: number;
|
|
19
21
|
end?: number;
|
package/x/driver/fns/work.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ export declare const setupDriverWork: import("@e280/comrade").SetupWork<{
|
|
|
4
4
|
hello(): Promise<void>;
|
|
5
5
|
decodeAudio(input: {
|
|
6
6
|
source: DecoderSource;
|
|
7
|
+
cancel: MessagePort;
|
|
7
8
|
audio: WritableStream<AudioData>;
|
|
8
9
|
start?: number;
|
|
9
10
|
end?: number;
|
|
10
11
|
}): Promise<void>;
|
|
11
12
|
decodeVideo(input: {
|
|
12
13
|
source: DecoderSource;
|
|
14
|
+
cancel: MessagePort;
|
|
13
15
|
video: WritableStream<VideoFrame>;
|
|
14
16
|
start?: number;
|
|
15
17
|
end?: number;
|
package/x/driver/fns/work.js
CHANGED
|
@@ -14,7 +14,7 @@ export const setupDriverWork = (Comrade.work(shell => ({
|
|
|
14
14
|
async hello() {
|
|
15
15
|
await shell.host.world();
|
|
16
16
|
},
|
|
17
|
-
async decodeAudio({ source, audio, start, end }) {
|
|
17
|
+
async decodeAudio({ source, audio, start, end, cancel }) {
|
|
18
18
|
const input = new Input({
|
|
19
19
|
source: await loadSource(source),
|
|
20
20
|
formats: ALL_FORMATS
|
|
@@ -22,18 +22,24 @@ export const setupDriverWork = (Comrade.work(shell => ({
|
|
|
22
22
|
const audioTrack = await input.getPrimaryAudioTrack();
|
|
23
23
|
const audioDecodable = await audioTrack?.canDecode();
|
|
24
24
|
const audioWriter = audio.getWriter();
|
|
25
|
-
if (audioDecodable
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
if (!audioDecodable || !audioTrack)
|
|
26
|
+
return;
|
|
27
|
+
const sink = new AudioSampleSink(audioTrack);
|
|
28
|
+
const samples = sink.samples(start, end);
|
|
29
|
+
cancel.onmessage = async () => {
|
|
30
|
+
samples.return();
|
|
31
|
+
input.dispose();
|
|
32
|
+
cancel.close();
|
|
33
|
+
};
|
|
34
|
+
for await (const sample of samples) {
|
|
35
|
+
const frame = sample.toAudioData();
|
|
36
|
+
sample.close();
|
|
37
|
+
await audioWriter.write(frame);
|
|
38
|
+
frame.close();
|
|
34
39
|
}
|
|
40
|
+
await audioWriter.close();
|
|
35
41
|
},
|
|
36
|
-
async decodeVideo({ source, video, start, end }) {
|
|
42
|
+
async decodeVideo({ source, video, start, end, cancel }) {
|
|
37
43
|
const input = new Input({
|
|
38
44
|
source: await loadSource(source),
|
|
39
45
|
formats: ALL_FORMATS
|
|
@@ -41,16 +47,22 @@ export const setupDriverWork = (Comrade.work(shell => ({
|
|
|
41
47
|
const videoTrack = await input.getPrimaryVideoTrack();
|
|
42
48
|
const videoDecodable = await videoTrack?.canDecode();
|
|
43
49
|
const videoWriter = video.getWriter();
|
|
44
|
-
if (videoDecodable
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
if (!videoDecodable || !videoTrack)
|
|
51
|
+
return;
|
|
52
|
+
const sink = new VideoSampleSink(videoTrack);
|
|
53
|
+
const samples = sink.samples(start, end);
|
|
54
|
+
cancel.onmessage = async () => {
|
|
55
|
+
samples.return();
|
|
56
|
+
input.dispose();
|
|
57
|
+
cancel.close();
|
|
58
|
+
};
|
|
59
|
+
for await (const sample of samples) {
|
|
60
|
+
const frame = sample.toVideoFrame();
|
|
61
|
+
sample.close();
|
|
62
|
+
await videoWriter.write(frame);
|
|
63
|
+
frame.close();
|
|
53
64
|
}
|
|
65
|
+
await videoWriter.close();
|
|
54
66
|
},
|
|
55
67
|
async encode({ video, audio, config, writable }) {
|
|
56
68
|
const output = new Output({
|
|
@@ -66,6 +78,7 @@ export const setupDriverWork = (Comrade.work(shell => ({
|
|
|
66
78
|
const sample = new VideoSample(frame);
|
|
67
79
|
await videoSource.add(sample);
|
|
68
80
|
sample.close();
|
|
81
|
+
frame.close();
|
|
69
82
|
}
|
|
70
83
|
}
|
|
71
84
|
async function encodeAudio() {
|
package/x/driver/fns/work.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../../s/driver/fns/work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAA;AACpD,OAAO,EAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAI7M,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAEhC,MAAM,UAAU,GAAG,KAAK,EAAE,MAAqB,EAAE,EAAE;IAClD,IAAG,MAAM,YAAY,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,OAAO,CAAC,IAAI,CAAkB,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,KAAK;QACV,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../../s/driver/fns/work.ts"],"names":[],"mappings":"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"}
|
package/x/index.html
CHANGED
|
@@ -295,7 +295,7 @@ canvas {
|
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
297
|
</style>
|
|
298
|
-
<script type=module src="demo/demo.bundle.min.js?v=
|
|
298
|
+
<script type=module src="demo/demo.bundle.min.js?v=e5ad0d42200e"></script>
|
|
299
299
|
|
|
300
300
|
|
|
301
301
|
<meta name="theme-color" content="#3cff9c">
|
|
@@ -317,7 +317,7 @@ canvas {
|
|
|
317
317
|
<section>
|
|
318
318
|
<header class="hero">
|
|
319
319
|
<div>
|
|
320
|
-
<h1>Omnitool <small>v1.1.0-
|
|
320
|
+
<h1>Omnitool <small>v1.1.0-55</small></h1>
|
|
321
321
|
<p>Developer demos for decoding, preview, waveform, playback, and export.</p>
|
|
322
322
|
</div>
|
|
323
323
|
</header>
|