core: fix firefox in beta

This commit is contained in:
Koushik Dutta
2022-04-05 13:22:36 -07:00
parent 458e2e6fac
commit 588f17b978
3 changed files with 19 additions and 18 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/core",
"version": "0.0.233",
"version": "0.0.234",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/core",
"version": "0.0.233",
"version": "0.0.234",
"license": "Apache-2.0",
"dependencies": {
"@koush/wrtc": "^0.5.3",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/core",
"version": "0.0.233",
"version": "0.0.234",
"description": "Scrypted Core plugin. Provides the UI, websocket, and engine.io APIs.",
"author": "Scrypted",
"license": "Apache-2.0",

View File

@@ -15,24 +15,25 @@ export async function streamRecorder(mediaManager: MediaManager, device: Scrypte
}
export async function streamMedia(device: RTCSignalingChannel, getVideo: () => HTMLVideoElement) {
const pc = new RTCPeerConnection();
return new Promise(resolve => {
const session = new BrowserSignalingSession(async (pc) => {
const session = new BrowserSignalingSession(pc);
pc.ontrack = ev => {
const mediaStream = new MediaStream(
pc.getReceivers().map((receiver) => receiver.track)
);
getVideo().srcObject = mediaStream;
const remoteAudio = document.createElement("audio");
remoteAudio.srcObject = mediaStream;
remoteAudio.play();
console.log('received track', ev.track);
};
device.startRTCSignalingSession(session);
resolve(pc);
});
pc.ontrack = ev => {
const mediaStream = new MediaStream(
pc.getReceivers().map((receiver) => receiver.track)
);
getVideo().srcObject = mediaStream;
const remoteAudio = document.createElement("audio");
remoteAudio.srcObject = mediaStream;
remoteAudio.play();
console.log('received track', ev.track);
};
return pc;
device.startRTCSignalingSession(session);
});
}
export async function createBlobUrl(mediaManager: MediaManager, mediaObject: MediaObject): Promise<string> {