mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-11 10:09:59 +00:00
Clean up app message handling a little
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
import { Channel } from "castv2";
|
||||
|
||||
import { sendMessage } from "../../lib/nativeMessaging";
|
||||
import messaging from "../../messaging";
|
||||
|
||||
import { ReceiverDevice } from "../../types";
|
||||
import { ReceiverDevice } from "../../messagingTypes";
|
||||
import { ReceiverMessage } from "./types";
|
||||
|
||||
import CastClient, { NS_CONNECTION, NS_HEARTBEAT } from "./client";
|
||||
@@ -74,7 +74,7 @@ export default class Session extends CastClient {
|
||||
|
||||
const { friendlyName } = this.receiverDevice;
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:sessionCreated",
|
||||
data: {
|
||||
sessionId: this.sessionId,
|
||||
@@ -104,7 +104,7 @@ export default class Session extends CastClient {
|
||||
break;
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:sessionUpdated",
|
||||
data: {
|
||||
sessionId: this.sessionId,
|
||||
@@ -141,7 +141,7 @@ export default class Session extends CastClient {
|
||||
|
||||
messageData = JSON.stringify(messageData);
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:receivedSessionMessage",
|
||||
data: {
|
||||
sessionId: this.sessionId,
|
||||
@@ -187,7 +187,7 @@ export default class Session extends CastClient {
|
||||
// Handle client connection closed
|
||||
this.client.on("close", () => {
|
||||
if (this.sessionId) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:sessionStopped",
|
||||
data: { sessionId: this.sessionId }
|
||||
});
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
import castv2 from "castv2";
|
||||
|
||||
import { sendMessage } from "../../lib/nativeMessaging";
|
||||
import { Message } from "../../messaging";
|
||||
import messaging, { Message } from "../../messaging";
|
||||
|
||||
import Session from "./Session";
|
||||
import CastClient, { NS_CONNECTION, NS_RECEIVER } from "./client";
|
||||
|
||||
|
||||
const sessions = new Map<string, Session>();
|
||||
|
||||
export function handleCastMessage(message: Message) {
|
||||
@@ -29,7 +25,7 @@ export function handleCastMessage(message: Message) {
|
||||
|
||||
const session = sessions.get(sessionId);
|
||||
if (!session) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: {
|
||||
error: "Session does not exist",
|
||||
@@ -44,7 +40,7 @@ export function handleCastMessage(message: Message) {
|
||||
try {
|
||||
session.sendReceiverMessage(messageData);
|
||||
} catch (err) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: {
|
||||
error: `Failed to send message (${err})`,
|
||||
@@ -57,7 +53,7 @@ export function handleCastMessage(message: Message) {
|
||||
}
|
||||
|
||||
// Success
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: { sessionId, messageId }
|
||||
});
|
||||
@@ -70,7 +66,7 @@ export function handleCastMessage(message: Message) {
|
||||
|
||||
const session = sessions.get(sessionId);
|
||||
if (!session) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: {
|
||||
error: "Session does not exist",
|
||||
@@ -91,7 +87,7 @@ export function handleCastMessage(message: Message) {
|
||||
|
||||
session.sendMessage(namespace, messageData);
|
||||
} catch (err) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: {
|
||||
error: `Failed to send message (${err})`,
|
||||
@@ -104,7 +100,7 @@ export function handleCastMessage(message: Message) {
|
||||
}
|
||||
|
||||
// Success
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "cast:impl_sendMessage",
|
||||
data: { sessionId, messageId }
|
||||
});
|
||||
@@ -116,7 +112,7 @@ export function handleCastMessage(message: Message) {
|
||||
const { receiverDevice } = message.data;
|
||||
|
||||
const client = new CastClient();
|
||||
client.connect(receiverDevice.host). then(() => {
|
||||
client.connect(receiverDevice.host).then(() => {
|
||||
(client.sendReceiverMessage as any)({ type: "STOP" });
|
||||
});
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
import mdns from "mdns";
|
||||
|
||||
import messaging from "../messaging";
|
||||
import { ReceiverDevice } from "../messagingTypes";
|
||||
|
||||
import Remote from "./cast/remote";
|
||||
import { ReceiverDevice } from "../types";
|
||||
import { sendMessage } from "../lib/nativeMessaging";
|
||||
|
||||
/**
|
||||
* Chromecast TXT record
|
||||
@@ -80,7 +81,7 @@ browser.on("serviceUp", service => {
|
||||
port: service.port
|
||||
};
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "main:receiverDeviceUp",
|
||||
data: {
|
||||
deviceId: device.id,
|
||||
@@ -94,7 +95,7 @@ browser.on("serviceUp", service => {
|
||||
new Remote(device.host, {
|
||||
// RECEIVER_STATUS
|
||||
onReceiverStatusUpdate(status) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "main:receiverDeviceStatusUpdated",
|
||||
data: { deviceId: device.id, status }
|
||||
});
|
||||
@@ -103,7 +104,7 @@ browser.on("serviceUp", service => {
|
||||
onMediaStatusUpdate(status) {
|
||||
if (!status) return;
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "main:receiverDeviceMediaStatusUpdated",
|
||||
data: { deviceId: device.id, status }
|
||||
});
|
||||
@@ -121,7 +122,7 @@ browser.on("serviceDown", service => {
|
||||
// Filter invalid results
|
||||
if (!service.name) return;
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "main:receiverDeviceDown",
|
||||
data: { deviceId: service.name }
|
||||
});
|
||||
|
||||
@@ -8,7 +8,7 @@ import stream from "stream";
|
||||
|
||||
import mime from "mime-types";
|
||||
|
||||
import { sendMessage } from "../lib/nativeMessaging";
|
||||
import messaging from "../messaging";
|
||||
import { convertSrtToVtt } from "../lib/subtitles";
|
||||
|
||||
export let mediaServer: http.Server | undefined;
|
||||
@@ -30,7 +30,7 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
fileName = path.basename(filePath);
|
||||
fileSize = stat.size;
|
||||
} else {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerError",
|
||||
data: "Media path is not a file."
|
||||
});
|
||||
@@ -38,7 +38,7 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
return;
|
||||
}
|
||||
} catch (err) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerError",
|
||||
data: "Failed to find media path."
|
||||
});
|
||||
@@ -48,7 +48,7 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
|
||||
const contentType = mime.lookup(filePath);
|
||||
if (!contentType) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerError",
|
||||
data: "Failed to find media type."
|
||||
});
|
||||
@@ -137,12 +137,12 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
});
|
||||
|
||||
mediaServer.on("close", () => {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerStopped"
|
||||
});
|
||||
});
|
||||
mediaServer.on("error", err => {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerError",
|
||||
data: err.message
|
||||
});
|
||||
@@ -160,7 +160,7 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
}
|
||||
|
||||
if (!localAddresses.length) {
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerError",
|
||||
data: "Failed to get local address."
|
||||
});
|
||||
@@ -168,7 +168,7 @@ export async function startMediaServer(filePath: string, port: number) {
|
||||
return;
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
messaging.sendMessage({
|
||||
subject: "mediaCast:mediaServerStarted",
|
||||
data: {
|
||||
mediaPath: fileName,
|
||||
|
||||
Reference in New Issue
Block a user