Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for Google meet screen share #6

Open
Aybee5 opened this issue Dec 12, 2022 · 3 comments
Open

Request for Google meet screen share #6

Aybee5 opened this issue Dec 12, 2022 · 3 comments

Comments

@Aybee5
Copy link

Aybee5 commented Dec 12, 2022

Is it possible to extends the functionality of this extension to support google meet screen share?

@apankowski
Copy link
Owner

Hi @Aybee5, I would have to check if it's feasible. Which browser do you have in mind?

@Aybee5
Copy link
Author

Aybee5 commented Dec 15, 2022 via email

@apankowski
Copy link
Owner

apankowski commented Jan 3, 2023

I did a bit of research and it doesn't look easy.

Variant 1

While sharing screen Chromium shows a window titled e.g. "meet.google.com is sharing screen". The window doesn't have any distinguishing class, so we'd have to base detection on the title. However:

  1. this title is language-dependent, so to support detection regardless of the language settings we'd have to detect the title in all languages that Chromium is translated to, which will be cumbersome,
  2. both the list of languages and the translations might change at any point breaking our detection.

Overall, such solution seems doable but hacky and brittle.

Variant 2

I thought we could do this properly, and maybe cover not only Chromium but possibly other applications.

I pulled latest sources for Chromium according to the instructions and did some digging. It seems that the code related to screen capture is in third_party/webrtc/modules/desktop_capture/linux. It is divided into two strategies, based on the display server protocol: X11 or Wayland. As an example, for X11 the screen capture code seems to be in third_party/webrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc.

In order to track the screen capture we'd have to track requests performed by Chromium as an X11 or Wayland client. For X11 we could try using the RECORD extension (as xtruss does). This would require quite a bit of PoCs and testing, which seems doable but time consuming as I'm not an expert on X11 protocol and the RECORD extension (especially invoked from a Gnome extension code).

Hypothetically, having this done for X11, we'd still have to do the same for Wayland which I haven't researched yet, so I'm not sure if it's feasible.

Overall, there are signs pointing that it's be doable, but certainly not easy.

I will keep this issue open to remind myself about X11 screen capture PoC and Wayland investigation if and when I have time. I wouldn't expect quick progress though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants