Fix sender app detection

This commit is contained in:
hensm
2022-09-13 09:26:04 +01:00
parent 77b67f205e
commit 1e10b6eac7

View File

@@ -924,8 +924,25 @@ async function getReceiverSelection(selectionOpts: {
}
}
// Enable app media type if sender application is present
if (selectionOpts.castInstance) {
let appInfo: Optional<ReceiverSelectorAppInfo>;
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<ReceiverSelectorAppInfo>;
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) {