Possibly screensharing fix for windows where they get deafened when screensharing with audio
All checks were successful
Queue Release Build / prepare (push) Successful in 14s
Deploy Web Apps / deploy (push) Successful in 9m24s
Queue Release Build / build-linux (push) Successful in 24m57s
Queue Release Build / build-windows (push) Successful in 25m21s
Queue Release Build / finalize (push) Successful in 1m43s
All checks were successful
Queue Release Build / prepare (push) Successful in 14s
Deploy Web Apps / deploy (push) Successful in 9m24s
Queue Release Build / build-linux (push) Successful in 24m57s
Queue Release Build / build-windows (push) Successful in 25m21s
Queue Release Build / finalize (push) Successful in 1m43s
This commit is contained in:
@@ -27,8 +27,14 @@ export class DesktopElectronScreenShareCapture {
|
|||||||
return !!this.dependencies.getElectronApi()?.getSources && !this.isLinuxElectron();
|
return !!this.dependencies.getElectronApi()?.getSources && !this.isLinuxElectron();
|
||||||
}
|
}
|
||||||
|
|
||||||
shouldSuppressRemotePlaybackDuringShare(includeSystemAudio: boolean): boolean {
|
shouldSuppressRemotePlaybackDuringShare(
|
||||||
return includeSystemAudio && this.isWindowsElectron();
|
includeSystemAudio: boolean,
|
||||||
|
usingElectronDesktopCapture: boolean
|
||||||
|
): boolean {
|
||||||
|
// Chromium display-media capture can use own-audio suppression on modern
|
||||||
|
// builds. The Electron desktop-capturer fallback cannot, so keep the old
|
||||||
|
// Windows mute behavior only for that fallback path.
|
||||||
|
return includeSystemAudio && usingElectronDesktopCapture && this.isWindowsElectron();
|
||||||
}
|
}
|
||||||
|
|
||||||
async startCapture(
|
async startCapture(
|
||||||
|
|||||||
@@ -340,7 +340,10 @@ export class ScreenShareManager {
|
|||||||
includeSystemAudio: this.isScreenActive ? includeSystemAudio : false,
|
includeSystemAudio: this.isScreenActive ? includeSystemAudio : false,
|
||||||
stream: this.isScreenActive ? this.activeScreenStream : null,
|
stream: this.isScreenActive ? this.activeScreenStream : null,
|
||||||
suppressRemotePlayback: this.isScreenActive
|
suppressRemotePlayback: this.isScreenActive
|
||||||
&& this.desktopElectronScreenShareCapture.shouldSuppressRemotePlaybackDuringShare(includeSystemAudio),
|
&& this.desktopElectronScreenShareCapture.shouldSuppressRemotePlaybackDuringShare(
|
||||||
|
includeSystemAudio,
|
||||||
|
captureMethod === 'electron-desktop'
|
||||||
|
),
|
||||||
forceDefaultRemotePlaybackOutput: this.isScreenActive
|
forceDefaultRemotePlaybackOutput: this.isScreenActive
|
||||||
&& includeSystemAudio
|
&& includeSystemAudio
|
||||||
&& captureMethod === 'linux-electron'
|
&& captureMethod === 'linux-electron'
|
||||||
|
|||||||
Reference in New Issue
Block a user