mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-12 10:39:57 +00:00
Fix mirror casting
This commit is contained in:
@@ -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
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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" }
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user