-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmain.ts
80 lines (70 loc) · 2.57 KB
/
main.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
importing dependencies
*/
import CameraSource from '../../common/js/camera-source'
import { isSupported, setVonageMetadata, MediaProcessor, MediaProcessorConnector, VonageMetadata, ErrorData, WarnData, PipelineInfoData } from '@vonage/media-processor'
import UnityTransformer from './js/UnityTransformer'
/*
logic below
*/
async function main() {
try {
await isSupported();
} catch (e) {
console.log(e);
alert('Something bad happened: ' + e);
return;
}
const githubButtonSelector: HTMLElement | null = document.getElementById("githubButton")
const vividButtonSelector: HTMLElement | null = document.getElementById("vividButton")
let source: CameraSource
async function updatePipelineSource() {
{
source = new CameraSource()
}
await source.init().then(async () => {
const metadata: VonageMetadata = {
appId: 'vonage-unity-example',
sourceType: 'test'
};
setVonageMetadata(metadata);
let mediaProcessor: MediaProcessor = new MediaProcessor();
mediaProcessor.on('error', ((eventData: ErrorData) => {
console.error(eventData.error, eventData.eventMetaData.transformerIndex, eventData.function);
}))
mediaProcessor.on('warn', ((eventData: WarnData) => {
console.warn(eventData.dropInfo.requested, eventData.eventMetaData.transformerIndex, eventData.warningType);
}))
mediaProcessor.on('pipelineInfo', ((eventData: PipelineInfoData) => {
console.info(eventData)
}))
mediaProcessor.setTrackExpectedRate(-1);
let unityTransformer: UnityTransformer = new UnityTransformer()
unityTransformer.init().then(() => {
let transformers: Array<Transformer> = [];
transformers.push(unityTransformer);
mediaProcessor.setTransformers(transformers);
let connector: MediaProcessorConnector = new MediaProcessorConnector(mediaProcessor);
source.setMediaProcessorConnector(connector).catch(e => {
console.log(e)
})
}).catch(e => {
console.log(e)
})
}).catch(e => {
console.error(e)
})
}
if (githubButtonSelector) {
githubButtonSelector.addEventListener('click', () => {
window.open("https://github.com/Vonage/vonage-media-transformers-samples/tree/main/examples/unity", '_blank')?.focus();
})
}
if (vividButtonSelector) {
vividButtonSelector.addEventListener('click', () => {
window.open("https://vivid.vonage.com/?path=/story/introduction-meet-vivid--meet-vivid", '_blank')?.focus();
})
}
updatePipelineSource()
}
window.onload = main;