diff --git a/server/src/plugin/media.ts b/server/src/plugin/media.ts index 1b0649f92..a757b5063 100644 --- a/server/src/plugin/media.ts +++ b/server/src/plugin/media.ts @@ -24,7 +24,7 @@ interface RTCSession { const rtcSessions: { [id: string]: RTCSession } = {}; -function addBuiltins(mediaManager: MediaManager, converters: BufferConverter[]) { +function addBuiltins(console: Console, mediaManager: MediaManager, converters: BufferConverter[]) { converters.push({ fromMimeType: ScryptedMimeTypes.Url + ';' + ScryptedMimeTypes.AcceptUrlParameter, toMimeType: ScryptedMimeTypes.FFmpegInput, @@ -286,7 +286,7 @@ function addBuiltins(mediaManager: MediaManager, converters: BufferConverter[]) export class MediaManagerImpl implements MediaManager { systemManager: SystemManager; - constructor(systemManager: SystemManager) { + constructor(systemManager: SystemManager, public console: Console) { this.systemManager = systemManager; } @@ -299,7 +299,7 @@ export class MediaManagerImpl implements MediaManager { const devices = Object.keys(this.systemManager.getSystemState()).map(id => this.systemManager.getDeviceById(id)); const converters = Object.values(devices).filter(device => device.interfaces?.includes(ScryptedInterface.BufferConverter)) .map(device => device as ScryptedDevice & BufferConverter); - addBuiltins(this, converters); + addBuiltins(this.console, this, converters); return converters; } diff --git a/server/src/plugin/plugin-host.ts b/server/src/plugin/plugin-host.ts index ce5f0fc6d..66701c30d 100644 --- a/server/src/plugin/plugin-host.ts +++ b/server/src/plugin/plugin-host.ts @@ -115,7 +115,7 @@ export class PluginHost { }); attachPluginRemote(remote, { - createMediaManager: async (systemManager) => new MediaManagerImpl(systemManager), + createMediaManager: async (systemManager) => new MediaManagerImpl(systemManager, console), }); } @@ -409,7 +409,7 @@ export function startPluginClusterWorker() { const replPort = createREPLServer(events); attachPluginRemote(peer, { - createMediaManager: async (systemManager) => new MediaManagerImpl(systemManager), + createMediaManager: async (systemManager) => new MediaManagerImpl(systemManager, getDeviceConsole(undefined)), events, getDeviceConsole, async getServicePort(name) {