🚨 cleanup
This commit is contained in:
@@ -56,14 +56,13 @@ export class ChromecastSender implements Sender {
|
||||
this.dataChannel.addEventListener('message', (event) => {
|
||||
console.log('data channel message', event.data);
|
||||
});
|
||||
window['webrtcPeer'] = this.webrtcPeer;
|
||||
window['dataChannel'] = this.dataChannel;
|
||||
const offer = await this.webrtcPeer.createOffer();
|
||||
await this.webrtcPeer.setLocalDescription(offer);
|
||||
// @ts-ignore
|
||||
this.sendMessage({ type: 'RTC_OFFER', offer });
|
||||
this.webrtcPeer.onicecandidate = (event: any) => {
|
||||
if (event.candidate) {
|
||||
// @ts-ignore
|
||||
this.sendMessage({ type: 'RTC_ICE', candidate: event.candidate });
|
||||
// @ts-ignore
|
||||
console.log('sending ice candidate', event.candidate);
|
||||
@@ -159,7 +158,7 @@ export class ChromecastSender implements Sender {
|
||||
export class ChromecastReceiver extends EventTarget implements Receiver {
|
||||
|
||||
private webrtcPeer?: RTCPeerConnection
|
||||
private dataChannel: RTCDataChannel;
|
||||
private dataChannel?: RTCDataChannel;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -189,7 +188,7 @@ export class ChromecastReceiver extends EventTarget implements Receiver {
|
||||
this.dispatchEvent(new CustomEvent(msg.type, {detail: msg}));
|
||||
this.dispatchEvent(new CustomEvent('all', {detail: msg}));
|
||||
// log('data channel message', event.data);
|
||||
this.dataChannel.send(JSON.stringify({ type: 'ACK', data: 'Hello, sender!' }));
|
||||
this.dataChannel?.send(JSON.stringify({ type: 'ACK', data: 'Hello, sender!' }));
|
||||
} catch (err) {
|
||||
log('data channel error', err);
|
||||
}
|
||||
@@ -210,15 +209,16 @@ export class ChromecastReceiver extends EventTarget implements Receiver {
|
||||
|
||||
private initializeCastApi() {
|
||||
try {
|
||||
// @ts-ignore
|
||||
const context = cast.framework.CastReceiverContext.getInstance();
|
||||
// @ts-ignore
|
||||
const options = new cast.framework.CastReceiverOptions();
|
||||
const playerManager = context.getPlayerManager();
|
||||
|
||||
context.addCustomMessageListener(CHANNEL, (event) => {
|
||||
context.addCustomMessageListener(CHANNEL, (event: any) => {
|
||||
const msg = event.data;
|
||||
log('msg', event.data.type);
|
||||
if (msg.type === 'RTC_OFFER') {
|
||||
this.initializeWebRTC(msg.offer, (data) => context.sendCustomMessage(CHANNEL, event.senderId, data));
|
||||
this.initializeWebRTC(msg.offer, (data: any) => context.sendCustomMessage(CHANNEL, event.senderId, data));
|
||||
} else if (msg.type === 'RTC_ICE') {
|
||||
this.webrtcPeer?.addIceCandidate(msg.candidate);
|
||||
} else {
|
||||
@@ -233,6 +233,7 @@ export class ChromecastReceiver extends EventTarget implements Receiver {
|
||||
options.maxInactivity = 3600; // Development only
|
||||
context.start(options);
|
||||
} catch (err) {
|
||||
// @ts-ignore
|
||||
log('initializeCastApi error', err.stack);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ export class FileManager {
|
||||
}
|
||||
}
|
||||
|
||||
private extractMetaFromFileName(name: string): { width: number, height: number } {
|
||||
private extractMetaFromFileName(name: string): { width: number, height: number } | undefined {
|
||||
const czepeku = new RegExp(/\[([0-9]+)x([0-9]+)\]/);
|
||||
const czepekuMatches = name?.match(czepeku);
|
||||
if (czepekuMatches) {
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
import { InjectionKey } from "vue";
|
||||
import type { FileManager } from "./FileManager";
|
||||
import type { CastSender } from "./CastSender.ts_";
|
||||
import type { CastReceiver } from "./CastReceiver.ts_";
|
||||
import { Receiver, Sender } from "./CommunicationChannel";
|
||||
|
||||
|
||||
export const FileManagerSymbol = Symbol("FileManager") as InjectionKey<FileManager>;
|
||||
export const CastSenderSymbol = Symbol("CastSender") as InjectionKey<CastSender>;
|
||||
export const CastReceiverSymbol = Symbol("CastReceiver") as InjectionKey<CastReceiver>;
|
||||
export const CastTypeSymbol = Symbol("CastType") as InjectionKey<"sender" | "receiver">;
|
||||
export const SenderSymbol = Symbol('Sender') as InjectionKey<Sender>;
|
||||
export const ReceiverSymbol = Symbol('Receiver') as InjectionKey<Receiver>;
|
||||
Reference in New Issue
Block a user