mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 18:27:09 +00:00
Fix app browsing and local file streaming in Apple TV integration (#74112)
This commit is contained in:
parent
b9c135870a
commit
54138cda41
@ -21,8 +21,8 @@ def build_app_list(app_list):
|
|||||||
media_content_id="apps",
|
media_content_id="apps",
|
||||||
media_content_type=MEDIA_TYPE_APPS,
|
media_content_type=MEDIA_TYPE_APPS,
|
||||||
title="Apps",
|
title="Apps",
|
||||||
can_play=True,
|
can_play=False,
|
||||||
can_expand=False,
|
can_expand=True,
|
||||||
children=[item_payload(item) for item in app_list],
|
children=[item_payload(item) for item in app_list],
|
||||||
children_media_class=MEDIA_CLASS_APP,
|
children_media_class=MEDIA_CLASS_APP,
|
||||||
)
|
)
|
||||||
|
@ -282,22 +282,20 @@ class AppleTvMediaPlayer(AppleTVEntity, MediaPlayerEntity):
|
|||||||
# RAOP. Otherwise try to play it with regular AirPlay.
|
# RAOP. Otherwise try to play it with regular AirPlay.
|
||||||
if media_type == MEDIA_TYPE_APP:
|
if media_type == MEDIA_TYPE_APP:
|
||||||
await self.atv.apps.launch_app(media_id)
|
await self.atv.apps.launch_app(media_id)
|
||||||
|
return
|
||||||
|
|
||||||
if media_source.is_media_source_id(media_id):
|
if media_source.is_media_source_id(media_id):
|
||||||
play_item = await media_source.async_resolve_media(
|
play_item = await media_source.async_resolve_media(
|
||||||
self.hass, media_id, self.entity_id
|
self.hass, media_id, self.entity_id
|
||||||
)
|
)
|
||||||
media_id = play_item.url
|
media_id = async_process_play_media_url(self.hass, play_item.url)
|
||||||
media_type = MEDIA_TYPE_MUSIC
|
media_type = MEDIA_TYPE_MUSIC
|
||||||
|
|
||||||
media_id = async_process_play_media_url(self.hass, media_id)
|
|
||||||
|
|
||||||
if self._is_feature_available(FeatureName.StreamFile) and (
|
if self._is_feature_available(FeatureName.StreamFile) and (
|
||||||
media_type == MEDIA_TYPE_MUSIC or await is_streamable(media_id)
|
media_type == MEDIA_TYPE_MUSIC or await is_streamable(media_id)
|
||||||
):
|
):
|
||||||
_LOGGER.debug("Streaming %s via RAOP", media_id)
|
_LOGGER.debug("Streaming %s via RAOP", media_id)
|
||||||
await self.atv.stream.stream_file(media_id)
|
await self.atv.stream.stream_file(media_id)
|
||||||
|
|
||||||
elif self._is_feature_available(FeatureName.PlayUrl):
|
elif self._is_feature_available(FeatureName.PlayUrl):
|
||||||
_LOGGER.debug("Playing %s via AirPlay", media_id)
|
_LOGGER.debug("Playing %s via AirPlay", media_id)
|
||||||
await self.atv.stream.play_url(media_id)
|
await self.atv.stream.play_url(media_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user