Yousef Amar
Yousef Amar

Reputation: 661

How does Google Meet allow you to screen share from another tab?

In Google Meet, if you click "Present Now" then "A Chrome Tab", it brings up a window that lets you share from another tab. This is different to the standard Screen Capture API as if you simply run

navigator.mediaDevices.getDisplayMedia({
    video: true,
    audio: true,
})

you get a window where you can choose between sharing your whole screen, sharing a window, or sharing a tab. I would like to limit this to tab only. I have tried applying constraints like:

video: { displaySurface: 'browser' }

or

video: { displaySurface: { exact: 'browser' } }

however, the specs say that this doesn't work and indeed it doesn't. But if that's the case, then how does Google Meet do it?

Upvotes: 10

Views: 3670

Answers (1)

Philipp Hancke
Philipp Hancke

Reputation: 17330

Google Meet uses the older extension API for screensharing. This API allows restricting the source types. It is still available but requires an extension (Google meet delivers a preinstalled extensions).

The standard getDisplayMedia does not allow restricting the types of displaySurface.

Update 2022: as on Chrome 107 some of these options are available via getDisplayMedia too, see this blog post for details

Upvotes: 15

Related Questions