uri=stream_url,
media_type=MediaType.PLUGIN_SOURCE,
title=plugin_source.name,
- queue_id=plugin_source.id,
custom_data={
- "provider": plugin_source.id,
+ "provider": plugin_prov.instance_id,
+ "source_id": plugin_source.id,
+ "player_id": player.player_id,
"audio_format": plugin_source.audio_format,
},
),
input_format = AIRPLAY_PCM_FORMAT
assert media.custom_data
audio_source = self.mass.streams.get_plugin_source_stream(
- plugin_source_id=media.custom_data["provider"],
+ plugin_source_id=media.custom_data["source_id"],
output_format=AIRPLAY_PCM_FORMAT,
- player_id=player_id,
+ # need to pass player_id from the PlayerMedia object
+ # because this could have been a group
+ player_id=media.custom_data["player_id"],
)
elif media.queue_id and media.queue_id.startswith("ugp_"):
# special case: UGP stream
elif media.media_type == MediaType.PLUGIN_SOURCE:
# special case: plugin source stream
audio_source = self.mass.streams.get_plugin_source_stream(
- plugin_source_id=media.custom_data["provider"],
+ plugin_source_id=media.custom_data["source_id"],
output_format=UGP_FORMAT,
- player_id=player_id,
+ player_id=media.custom_data["player_id"],
)
elif media.media_type == MediaType.RADIO:
# use single item stream request for radio streams
elif media.media_type == MediaType.PLUGIN_SOURCE:
# special case: plugin source stream
audio_source = self.mass.streams.get_plugin_source_stream(
- plugin_source_id=media.custom_data["provider"],
+ plugin_source_id=media.custom_data["source_id"],
output_format=master_audio_format,
- player_id=player_id,
+ # need to pass player_id from the PlayerMedia object
+ # because this could have been a group
+ player_id=media.custom_data["player_id"],
)
elif media.queue_id.startswith("ugp_"):
# special case: UGP stream