From 1e10b6eac76a85e7a2ba62f1dd0803bb8d7ffc70 Mon Sep 17 00:00:00 2001 From: hensm Date: Tue, 13 Sep 2022 09:26:04 +0100 Subject: [PATCH] Fix sender app detection --- ext/src/background/castManager.ts | 32 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/ext/src/background/castManager.ts b/ext/src/background/castManager.ts index c65fe00..54d51cb 100644 --- a/ext/src/background/castManager.ts +++ b/ext/src/background/castManager.ts @@ -924,41 +924,37 @@ async function getReceiverSelection(selectionOpts: { } } - // Enable app media type if sender application is present - if (selectionOpts.castInstance) { - defaultMediaType = ReceiverSelectorMediaType.App; - availableMediaTypes |= ReceiverSelectorMediaType.App; - } - - // Disable mirroring media types if mirroring is not enabled - if (!opts.mirroringEnabled) { - availableMediaTypes &= ~ReceiverSelectorMediaType.Screen; - } - - // Ensure status manager is initialized - await deviceManager.init(); - let appInfo: Optional; if (selectionOpts.castInstance?.apiConfig) { if (!baseConfig) { try { - baseConfig = (await baseConfigStorage.get("baseConfig")) - .baseConfig; + ({ baseConfig } = await baseConfigStorage.get("baseConfig")); } catch (err) { throw logger.error("Failed to get Chromecast base config!"); } } appInfo = { - sessionRequest: - selectionOpts.castInstance.apiConfig?.sessionRequest, + sessionRequest: selectionOpts.castInstance.apiConfig.sessionRequest, isRequestAppAudioCompatible: getAppTag( baseConfig, selectionOpts.castInstance.apiConfig?.sessionRequest.appId )?.supports_audio_only }; + + // Enable app media type if sender application is present + defaultMediaType = ReceiverSelectorMediaType.App; + availableMediaTypes |= ReceiverSelectorMediaType.App; } + // Disable mirroring media types if mirroring is not enabled + if (!opts.mirroringEnabled) { + availableMediaTypes &= ~ReceiverSelectorMediaType.Screen; + } + + // Ensure status manager is initialized + await deviceManager.init(); + return new Promise(async (resolve, reject) => { // Close an existing open selector if (receiverSelector?.isOpen) {