Moved web only files to web source root
This commit is contained in:
parent
40a56ed2f2
commit
47c43ea428
8 changed files with 24 additions and 24 deletions
|
@ -660,8 +660,10 @@ class ConnectionHandler {
|
||||||
|
|
||||||
acquire_recorder(voice_recoder: RecorderProfile, update_control_bar: boolean) {
|
acquire_recorder(voice_recoder: RecorderProfile, update_control_bar: boolean) {
|
||||||
const vconnection = this.serverConnection.voice_connection();
|
const vconnection = this.serverConnection.voice_connection();
|
||||||
if(vconnection)
|
(vconnection ? vconnection.acquire_voice_recorder(voice_recoder) : Promise.resolve()).catch(error => {
|
||||||
vconnection.acquire_voice_recorder(voice_recoder);
|
console.error(tr("Failed to acquire recorder (%o)"), error);
|
||||||
|
}).then(() => {
|
||||||
this.update_voice_status(undefined);
|
this.update_voice_status(undefined);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -82,7 +82,7 @@ namespace connection {
|
||||||
abstract unregister_client(client: VoiceClient) : Promise<void>;
|
abstract unregister_client(client: VoiceClient) : Promise<void>;
|
||||||
|
|
||||||
abstract voice_recorder() : RecorderProfile;
|
abstract voice_recorder() : RecorderProfile;
|
||||||
abstract acquire_voice_recorder(recorder: RecorderProfile | undefined);
|
abstract acquire_voice_recorder(recorder: RecorderProfile | undefined) : Promise<void>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -591,12 +591,7 @@ const loader_javascript = {
|
||||||
"js/permission/GroupManager.js",
|
"js/permission/GroupManager.js",
|
||||||
|
|
||||||
//Load audio
|
//Load audio
|
||||||
"js/voice/VoiceHandler.js",
|
|
||||||
"js/voice/AudioResampler.js",
|
|
||||||
"js/voice/VoiceClient.js",
|
|
||||||
|
|
||||||
"js/voice/RecorderBase.js",
|
"js/voice/RecorderBase.js",
|
||||||
"js/voice/JavascriptRecorder.js",
|
|
||||||
"js/voice/RecorderProfile.js",
|
"js/voice/RecorderProfile.js",
|
||||||
|
|
||||||
//Load codec
|
//Load codec
|
||||||
|
@ -633,7 +628,12 @@ const loader_javascript = {
|
||||||
await loader.load_scripts([
|
await loader.load_scripts([
|
||||||
["js/audio/AudioPlayer.js"],
|
["js/audio/AudioPlayer.js"],
|
||||||
["js/audio/WebCodec.js"],
|
["js/audio/WebCodec.js"],
|
||||||
["js/WebPPTListener.js"]
|
["js/WebPPTListener.js"],
|
||||||
|
|
||||||
|
"js/voice/AudioResampler.js",
|
||||||
|
"js/voice/JavascriptRecorder.js",
|
||||||
|
"js/voice/VoiceHandler.js",
|
||||||
|
"js/voice/VoiceClient.js",
|
||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
load_scripts_debug_client: async () => {
|
load_scripts_debug_client: async () => {
|
||||||
|
|
|
@ -424,9 +424,9 @@ loader.register_task(loader.Stage.JAVASCRIPT_INITIALIZING, {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
priority: 100
|
priority: 100
|
||||||
})
|
});
|
||||||
|
|
||||||
loader.register_task(loader.Stage.LOADED, {
|
loader.register_task(loader.Stage.JAVASCRIPT_INITIALIZING, {
|
||||||
name: "app starter",
|
name: "app starter",
|
||||||
function: async () => {
|
function: async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -443,6 +443,6 @@ loader.register_task(loader.Stage.LOADED, {
|
||||||
displayCriticalError("Failed to boot app function:<br>" + ex);
|
displayCriticalError("Failed to boot app function:<br>" + ex);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
priority: 10
|
priority: 100
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -292,13 +292,11 @@ namespace audio {
|
||||||
|
|
||||||
async start() {
|
async start() {
|
||||||
this._state = InputState.INITIALIZING;
|
this._state = InputState.INITIALIZING;
|
||||||
if(!this._current_device) {
|
if(!this._current_device)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
if(!this._audio_context) {
|
if(!this._audio_context)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const media_function = getUserMediaFunction();
|
const media_function = getUserMediaFunction();
|
||||||
|
@ -326,7 +324,6 @@ namespace audio {
|
||||||
this._initialize_filters();
|
this._initialize_filters();
|
||||||
this._state = InputState.RECORDING;
|
this._state = InputState.RECORDING;
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
console.warn(tr("Failed to start recorder (%o)"), error);
|
|
||||||
this._state = InputState.PAUSED;
|
this._state = InputState.PAUSED;
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
|
@ -190,14 +190,15 @@ namespace audio {
|
||||||
if(!this.javascript_encoding_supported()) return;
|
if(!this.javascript_encoding_supported()) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
acquire_voice_recorder(recorder: RecorderProfile | undefined, enforce?: boolean) {
|
async acquire_voice_recorder(recorder: RecorderProfile | undefined, enforce?: boolean) {
|
||||||
if(this._audio_source === recorder && !enforce)
|
if(this._audio_source === recorder && !enforce)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(recorder)
|
if(recorder)
|
||||||
recorder.unmount(); /* FIXME: Await promise? */
|
await recorder.unmount();
|
||||||
|
|
||||||
if(this._audio_source)
|
if(this._audio_source)
|
||||||
this._audio_source.unmount();
|
await this._audio_source.unmount();
|
||||||
|
|
||||||
this.handleVoiceEnded();
|
this.handleVoiceEnded();
|
||||||
this._audio_source = recorder;
|
this._audio_source = recorder;
|
||||||
|
@ -217,7 +218,7 @@ namespace audio {
|
||||||
if(!this.local_audio_stream)
|
if(!this.local_audio_stream)
|
||||||
this.setup_native(); /* requires initialized audio */
|
this.setup_native(); /* requires initialized audio */
|
||||||
|
|
||||||
recorder.input.set_consumer({
|
await recorder.input.set_consumer({
|
||||||
type: audio.recorder.InputConsumerType.NODE,
|
type: audio.recorder.InputConsumerType.NODE,
|
||||||
callback_node: node => {
|
callback_node: node => {
|
||||||
if(!this.local_audio_stream)
|
if(!this.local_audio_stream)
|
||||||
|
@ -233,7 +234,7 @@ namespace audio {
|
||||||
}
|
}
|
||||||
} as audio.recorder.NodeInputConsumer);
|
} as audio.recorder.NodeInputConsumer);
|
||||||
} else {
|
} else {
|
||||||
recorder.input.set_consumer({
|
await recorder.input.set_consumer({
|
||||||
type: audio.recorder.InputConsumerType.CALLBACK,
|
type: audio.recorder.InputConsumerType.CALLBACK,
|
||||||
callback_audio: buffer => this.handleVoiceData(buffer, false)
|
callback_audio: buffer => this.handleVoiceData(buffer, false)
|
||||||
} as audio.recorder.CallbackInputConsumer);
|
} as audio.recorder.CallbackInputConsumer);
|
||||||
|
@ -538,7 +539,7 @@ namespace audio {
|
||||||
private on_recoder_yield() {
|
private on_recoder_yield() {
|
||||||
console.log("Lost recorder!");
|
console.log("Lost recorder!");
|
||||||
this._audio_source = undefined;
|
this._audio_source = undefined;
|
||||||
this.acquire_voice_recorder(undefined, true);
|
this.acquire_voice_recorder(undefined, true); /* we can ignore the promise because we should finish this directly */
|
||||||
}
|
}
|
||||||
|
|
||||||
connected(): boolean {
|
connected(): boolean {
|
Loading…
Add table
Reference in a new issue