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

Tags: , ,



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?

Answer

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.



Source: stackoverflow