acquireStream function presentation
Last updated: 2026-03-05T10:53:28.864Z
Metrics
LOC: 34
Complexity: 4
Params: 3
Signature
acquireStream(
tabId: number,
opts: ScreenRecordOptions,
): : Promise<MediaStream>
Source Code
async function acquireStream(
tabId: number,
opts: ScreenRecordOptions,
): Promise<MediaStream> {
// chrome.tabCapture.getMediaStreamId requires an active tab
const streamId = await new Promise<string>((resolve, reject) => {
chrome.tabCapture.getMediaStreamId({ targetTabId: tabId }, (id) => {
if (chrome.runtime.lastError) {
reject(new Error(chrome.runtime.lastError.message));
} else {
resolve(id);
}
});
});
const constraints: MediaStreamConstraints = {
audio: opts.includeAudio
? ({
mandatory: {
chromeMediaSource: "tab",
chromeMediaSourceId: streamId,
},
} as MediaTrackConstraints)
: false,
video: {
mandatory: {
chromeMediaSource: "tab",
chromeMediaSourceId: streamId,
},
} as MediaTrackConstraints,
};
return navigator.mediaDevices.getUserMedia(constraints);
}
No outgoing dependencies.
Impact (Incoming)
| Source | Type |
|---|---|
| start | calls |