Closed Khodyn closed 3 years ago
Most likely out of scope for all client mods, especially GooseMod, due to being a closed source compiled module
All monitor capture and screen share handling are done in the discord_voice module which is a compiled Node C++ module. The only way to have some sort of clue what's happening there is to use something like IDA Pro (I tried, and Ghidra is a lost cause with these modules. Also, IDA Pro is needed because the module is x86) and for now I agree that this is way out of scope.
My guess is that we would need to somehow patch the compiled module to change that, which is literally impossible to do in a good manner.
See above comments, closing.
Hate needlessly bumping closed issues, but just wanted to correct that discord_voice (and some other native modules) are actually written in Rust and have a Node interop library used. Even then, a lot of us are just strictly Javascript devs and don't have the time, skills or effort required in reverse engineering something that is constantly updated as is.
I originally posted this as a Powercord suggestion. Discord uses DXGI (full monitor capture) and crops when the streamed game is not occluded by any windows, otherwise it falls back to a different capture method. Unfortunately, Discord is not very good at detecting occlusion and can fail in many cases:
tl;dr A module that forces Discord to never use DXGI capture, preventing leakage of other windows when sharing your screen.