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 | 42 ++++++++++++++----------------- 1 file changed, 19 insertions(+), 23 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,8 +924,25 @@ async function getReceiverSelection(selectionOpts: { } } - // Enable app media type if sender application is present - if (selectionOpts.castInstance) { + let appInfo: Optional; + if (selectionOpts.castInstance?.apiConfig) { + if (!baseConfig) { + try { + ({ baseConfig } = await baseConfigStorage.get("baseConfig")); + } catch (err) { + throw logger.error("Failed to get Chromecast base config!"); + } + } + + appInfo = { + 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; } @@ -938,27 +955,6 @@ async function getReceiverSelection(selectionOpts: { // Ensure status manager is initialized await deviceManager.init(); - let appInfo: Optional; - if (selectionOpts.castInstance?.apiConfig) { - if (!baseConfig) { - try { - baseConfig = (await baseConfigStorage.get("baseConfig")) - .baseConfig; - } catch (err) { - throw logger.error("Failed to get Chromecast base config!"); - } - } - - appInfo = { - sessionRequest: - selectionOpts.castInstance.apiConfig?.sessionRequest, - isRequestAppAudioCompatible: getAppTag( - baseConfig, - selectionOpts.castInstance.apiConfig?.sessionRequest.appId - )?.supports_audio_only - }; - } - return new Promise(async (resolve, reject) => { // Close an existing open selector if (receiverSelector?.isOpen) {