diff --git a/src/providers/song-info-front.ts b/src/providers/song-info-front.ts index 0c308c70..f18a3a3a 100644 --- a/src/providers/song-info-front.ts +++ b/src/providers/song-info-front.ts @@ -137,6 +137,12 @@ export default () => { data.videoDetails.album = videoData?.Hd?.playerOverlays?.playerOverlayRenderer?.browserMediaSession?.browserMediaSessionRenderer?.album.runs?.at(0)?.text; data.videoDetails.elapsedSeconds = 0; data.videoDetails.isPaused = false; + + // HACK: This is a workaround for "podcast" type video. GREAT JOB GOOGLE. + if (data.playabilityStatus.transportControlsConfig) { + data.videoDetails.author = data.microformat.microformatDataRenderer.pageOwnerDetails.name; + } + ipcRenderer.send('video-src-changed', data); } }, { once: true, passive: true }); diff --git a/src/types/get-player-response.ts b/src/types/get-player-response.ts index 3a195500..54bd7d5a 100644 --- a/src/types/get-player-response.ts +++ b/src/types/get-player-response.ts @@ -217,6 +217,17 @@ export interface PlayabilityStatus { audioOnlyPlayability: AudioOnlyPlayability; miniplayer: Miniplayer; contextParams: string; + transportControlsConfig?: TransportControlsConfig; +} + +type ReplaceDefaultType = { + replaceDefault: boolean, +}; + +export interface TransportControlsConfig { + seekForwardStatus: ReplaceDefaultType; + seekBackwardStatus: ReplaceDefaultType; + playbackRateStatus: ReplaceDefaultType; } export interface AudioOnlyPlayability {