I'm not entirely sure if Stack Overflow is the correct website to ask this question, but I have been thinking about it ever since a friend mentioned it to me a week ago. I know on a baseline level what hardware acceleration does: offloads certain workloads to other components in your computer (i.e. your GPU or sound card) to improve performance in various applications. I just would like to know what exactly is happening when hardware acceleration is on v/s off when streaming a Google Chrome window and why it makes a difference in a completely different application.
If you're unfamiliar with what I'm referencing in the title, here's a simple example of what I mean: Let's say you want to watch a Netflix show or sporting event with your friends on Discord, so you all hop in a call together on the app to watch you stream the video in a Chrome tab. However, when your friends join the stream, they can hear the audio of what you're streaming but the video feed is blacked out for those watching. Interestingly enough, one of the solutions people have found to this issue is disabling hardware acceleration in Google Chrome's settings which allows the video and audio to be streamed no problem.
It makes sense why this occurs: to prevent potential piracy and illegal redistribution of copywrited material, but why does disabling hardware acceleration re-enable this functionality? Does hardware acceleration allow data to be shared between apps? Does Discord set a flag saying a particular window/screen is being streamed and Chrome can only "see" that flag while hardware acceleration is enabled?
I guess the underlying question is: how does having hardware acceleration enabled allow Netflix, a TV provider or any other website for that matter to know their content is being streamed?
feel free to recommend other tags for this post, didn't want to include discord because it's not referencing their API
edit: also, please let me know if this is off-topic so I can delete it and repost on another website
The hardware acceleration allows the HDCP content to remain encrypted all the way to the display. By disabling it, the video is decrypted in software usually at a reduced resolution and/or frame rate.