diff --git a/src/providers/song-info-front.ts b/src/providers/song-info-front.ts index d4fbe1fe..d99a0fc1 100644 --- a/src/providers/song-info-front.ts +++ b/src/providers/song-info-front.ts @@ -2,7 +2,7 @@ import { singleton } from './decorators'; import type { YoutubePlayer } from '@/types/youtube-player'; import type { GetState } from '@/types/datahost-get-state'; -import type { VideoDataChangeValue } from '@/types/player-api-events'; +import type { AlbumDetails, VideoDataChangeValue } from '@/types/player-api-events'; import type { SongInfo } from './song-info'; import type { VideoDataChanged } from '@/types/video-data-changed'; @@ -155,7 +155,10 @@ export default (api: YoutubePlayer) => { const data = api.getPlayerResponse(); data.videoDetails.album = - videoData?.Hd?.playerOverlays?.playerOverlayRenderer?.browserMediaSession?.browserMediaSessionRenderer?.album.runs?.at( + ( + Object.entries(videoData) + .find(([, value]) => value && Object.hasOwn(value, 'playerOverlays')) as AlbumDetails | undefined + )?.playerOverlays?.playerOverlayRenderer?.browserMediaSession?.browserMediaSessionRenderer?.album?.runs?.at( 0, )?.text; data.videoDetails.elapsedSeconds = 0; diff --git a/src/types/player-api-events.ts b/src/types/player-api-events.ts index 533a552a..b9baddb8 100644 --- a/src/types/player-api-events.ts +++ b/src/types/player-api-events.ts @@ -246,8 +246,6 @@ export type VideoDataChangeValue = Record & { title: string; author: string; - Hd?: AlbumDetails; - playlistId: string; isUpcoming: boolean; loading: boolean;