MCPcopy Create free account
hub / github.com/NVIDIA/personaplex / prewarmDecoderWorker

Function prewarmDecoderWorker

client/src/decoder/decoderWorker.ts:81–109  ·  view source on GitHub ↗
(audioContextSampleRate: number)

Source from the content-addressed store, hash-verified

79
80// Create and pre-warm a decoder worker (should be called early, e.g., on page load)
81export const prewarmDecoderWorker = (audioContextSampleRate: number): Promise<void> => {
82 if (prewarmedWorkerReady && prewarmedSampleRate === audioContextSampleRate) {
83 console.log("Using existing prewarmed worker");
84 return prewarmedWorkerReady;
85 }
86
87 // Terminate old worker if sample rate changed
88 if (prewarmedWorker) {
89 prewarmedWorker.terminate();
90 }
91
92 console.log("Creating and prewarming decoder worker");
93 lastWorkerError = null;
94 prewarmedWorker = createWorkerWithErrorTracking();
95 prewarmedSampleRate = audioContextSampleRate;
96
97 sendInitCommand(prewarmedWorker, audioContextSampleRate);
98
99 prewarmedWorkerReady = new Promise((resolve) => {
100 // Give worker plenty of time to load WASM and process init
101 // 1000ms to be extra safe
102 setTimeout(() => {
103 console.log("Prewarmed decoder worker ready");
104 resolve();
105 }, 1000);
106 });
107
108 return prewarmedWorkerReady;
109};
110
111// Get the prewarmed worker after waiting for it to be ready
112// Returns null if prewarm wasn't called or if worker had errors

Callers 1

QueueFunction · 0.90

Calls 3

sendInitCommandFunction · 0.85
logMethod · 0.45

Tested by

no test coverage detected