mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-10 17:49:58 +00:00
Fix media server issues
This commit is contained in:
@@ -150,8 +150,6 @@ export default class Session {
|
||||
media.mediaSessionId === mediaStatus.mediaSessionId
|
||||
);
|
||||
|
||||
console.info(media);
|
||||
|
||||
// Handle Media creation
|
||||
if (!media) {
|
||||
media = new Media(
|
||||
|
||||
@@ -37,7 +37,7 @@ function startMediaServer(
|
||||
break;
|
||||
}
|
||||
case "mediaCast:mediaServerError": {
|
||||
reject();
|
||||
reject(message.data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -100,9 +100,8 @@ function getSession(opts: InitOptions): Promise<cast.Session> {
|
||||
function getMedia(opts: InitOptions): Promise<cast.media.Media> {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
let mediaUrl = new URL(opts.mediaUrl);
|
||||
let subtitleUrls: URL[] = [];
|
||||
|
||||
const mediaTitle = mediaUrl.pathname.slice(1);
|
||||
const subtitleUrls: URL[] = [];
|
||||
|
||||
/**
|
||||
* If the media is a local file, start an HTTP media server
|
||||
@@ -118,11 +117,13 @@ function getMedia(opts: InitOptions): Promise<cast.media.Media> {
|
||||
|
||||
const baseUrl = new URL(`http://${localAddress}:${port}/`);
|
||||
mediaUrl = new URL(mediaPath, baseUrl);
|
||||
subtitleUrls = subtitlePaths.map(
|
||||
path => new URL(path, baseUrl)
|
||||
subtitleUrls.push(
|
||||
...subtitlePaths.map(path => new URL(path, baseUrl))
|
||||
);
|
||||
|
||||
console.info(mediaUrl);
|
||||
} catch (err) {
|
||||
throw logger.error("Failed to start media server");
|
||||
throw logger.error("Failed to start media server", err);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,6 +342,14 @@ interface InitOptions {
|
||||
export async function init(opts: InitOptions) {
|
||||
backgroundPort = await ensureInit();
|
||||
|
||||
backgroundPort.addEventListener("message", ev => {
|
||||
const message = ev.data as Message;
|
||||
switch (message.subject) {
|
||||
case "mediaCast:mediaServerError":
|
||||
logger.error("Media server error", message.data);
|
||||
}
|
||||
});
|
||||
|
||||
const isLocalMedia = opts.mediaUrl.startsWith("file://");
|
||||
const isLocalMediaEnabled = await options.get("localMediaEnabled");
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ type AppMessageDefinitions = {
|
||||
* Sent to media sender from bridge when the media server has
|
||||
* encountered an error.
|
||||
*/
|
||||
"mediaCast:mediaServerError": {};
|
||||
"mediaCast:mediaServerError": string;
|
||||
};
|
||||
|
||||
type MessageDefinitions = ExtMessageDefinitions & AppMessageDefinitions;
|
||||
|
||||
Reference in New Issue
Block a user