plugin_prov: PluginProvider = self.mass.get_provider(plugin_source_id)
plugin_source = plugin_prov.get_source()
if plugin_source.in_use_by and plugin_source.in_use_by != player_id:
- raise RuntimeError(
- f"PluginSource plugin_source.name is already in use by {plugin_source.in_use_by}"
- )
+ # kick out existing player using this source
+ plugin_source.in_use_by = player_id
+ await asyncio.sleep(0.5) # give some time to the other player to stop
+
self.logger.debug(
"Start streaming PluginSource %s to %s using output format %s",
plugin_source_id,