Fix mirror casting

This commit is contained in:
hensm
2019-05-02 06:16:26 +01:00
committed by Matt Hensman
parent a25b418917
commit 822978b2c2
2 changed files with 9 additions and 6 deletions

View File

@@ -440,7 +440,9 @@ browser.menus.onClicked.addListener(async (info, tab) => {
await browser.tabs.executeScript(tab.id, { await browser.tabs.executeScript(tab.id, {
code: ` code: `
var selectedMedia = "${info.pageUrl ? "tab" : "screen"}"; var selectedMedia = ${info.pageUrl
? ReceiverSelectorMediaType.Tab
: ReceiverSelectorMediaType.Screen};
var FX_CAST_RECEIVER_APP_ID = "${options.mirroringAppId}"; var FX_CAST_RECEIVER_APP_ID = "${options.mirroringAppId}";
` `
, frameId , frameId
@@ -595,9 +597,7 @@ async function onConnectShim (port: browser.runtime.Port) {
port.postMessage({ port.postMessage({
subject: "shim:/selectReceiverEnd" subject: "shim:/selectReceiverEnd"
, data: { , data: ev.detail
receiver: ev.detail.receiver
}
}); });
} }

View File

@@ -1,5 +1,8 @@
"use strict"; "use strict";
import { ReceiverSelectorMediaType }
from "./receiverSelectorManager/ReceiverSelectorManager":
let chrome; let chrome;
let logMessage; let logMessage;
@@ -70,7 +73,7 @@ async function onRequestSessionSuccess (session_, selectedMedia) {
}); });
switch (selectedMedia) { switch (selectedMedia) {
case "tab": case ReceiverSelectorMediaType.Tab:
interval = setInterval(() => { interval = setInterval(() => {
ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawWindow( ctx.drawWindow(
@@ -85,7 +88,7 @@ async function onRequestSessionSuccess (session_, selectedMedia) {
pc.addStream(canvas.captureStream()); pc.addStream(canvas.captureStream());
break; break;
case "screen": case ReceiverSelectorMediaType.Screen:
const stream = await navigator.mediaDevices.getUserMedia({ const stream = await navigator.mediaDevices.getUserMedia({
video: { mediaSource: "window" } video: { mediaSource: "window" }
}); });