Respect skip_stream_info when parsing media

This commit is contained in:
Rafael Moraes
2026-03-02 12:47:45 -03:00
parent 2bc3824356
commit 9167d8aa9f
4 changed files with 31 additions and 27 deletions
+9 -8
View File
@@ -48,15 +48,16 @@ class SpotifyEpisodeInterface(SpotifyAudioInterface):
episode_data["coverArt"]["sources"][0]["url"]
)
try:
media.stream_info = await self.get_stream_info(playback_info, True)
except VotifyMediaAudioQualityNotAvailableException as e:
e.media_metadata = episode_data
raise
if not self.skip_stream_info:
try:
media.stream_info = await self.get_stream_info(playback_info, True)
except VotifyMediaAudioQualityNotAvailableException as e:
e.media_metadata = episode_data
raise
media.decryption_key = DecryptionKey(
decryption_key=DEFAULT_EPISODE_DECRYPTION_KEY,
)
media.decryption_key = DecryptionKey(
decryption_key=DEFAULT_EPISODE_DECRYPTION_KEY,
)
logger.debug(f"Parsed episode media: {media}")
+8 -7
View File
@@ -48,14 +48,15 @@ class SpotifyEpisodeVideoInterface(SpotifyVideoInterface):
episode_data["coverArt"]["sources"][0]["url"]
)
media.stream_info = await self.get_stream_info(playback_info)
if not self.skip_stream_info:
media.stream_info = await self.get_stream_info(playback_info)
if media.stream_info.audio_track.widevine_pssh:
if self.no_drm:
raise VotifyDrmDisabledException(media.media_id, episode_data)
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
if media.stream_info.audio_track.widevine_pssh:
if self.no_drm:
raise VotifyDrmDisabledException(media.media_id, episode_data)
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
logger.debug(f"Parsed episode video media: {media}")
+5 -4
View File
@@ -89,11 +89,12 @@ class SpotifyMusicVideoInterface(SpotifyVideoInterface):
album_data["coverArt"]["sources"][0]["url"]
)
media.stream_info = await self.get_stream_info(playback_info)
if not self.skip_stream_info:
media.stream_info = await self.get_stream_info(playback_info)
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
logger.debug(f"Parsed music video media: {media}")
+9 -8
View File
@@ -64,15 +64,16 @@ class SpotifySongInterface(SpotifyAudioInterface):
media.album_metadata["coverArt"]["sources"][0]["url"]
)
try:
media.stream_info = await self.get_stream_info(playback_info, False)
except VotifyMediaAudioQualityNotAvailableException as e:
e.media_metadata = track_data
raise
if not self.skip_stream_info:
try:
media.stream_info = await self.get_stream_info(playback_info, False)
except VotifyMediaAudioQualityNotAvailableException as e:
e.media_metadata = track_data
raise
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
media.decryption_key = await self.get_widevine_decryption_key(
media.stream_info.audio_track.widevine_pssh
)
logger.debug(f"Processed song media: {media}")