diff --git a/packages/integrations/src/emby/emby-integration.ts b/packages/integrations/src/emby/emby-integration.ts index 8fec4f4b1..d2410a02c 100644 --- a/packages/integrations/src/emby/emby-integration.ts +++ b/packages/integrations/src/emby/emby-integration.ts @@ -112,13 +112,15 @@ export class EmbyIntegration extends Integration implements IMediaServerIntegrat let currentlyPlaying: StreamSession["currentlyPlaying"] | null = null; if (sessionInfo.NowPlayingItem) { + const isEpisode = sessionInfo.NowPlayingItem.Type === BaseItemKind.Episode; + currentlyPlaying = { type: convertJellyfinType(sessionInfo.NowPlayingItem.Type), name: sessionInfo.NowPlayingItem.SeriesName ?? sessionInfo.NowPlayingItem.Name ?? "", seasonName: sessionInfo.NowPlayingItem.SeasonName ?? "", - seasonNumber: sessionInfo.NowPlayingItem.ParentIndexNumber ?? null, - episodeName: sessionInfo.NowPlayingItem.EpisodeTitle, - episodeNumber: sessionInfo.NowPlayingItem.IndexNumber ?? null, + seasonNumber: isEpisode ? (sessionInfo.NowPlayingItem.ParentIndexNumber ?? null) : null, + episodeName: isEpisode ? sessionInfo.NowPlayingItem.EpisodeTitle : null, + episodeNumber: isEpisode ? (sessionInfo.NowPlayingItem.IndexNumber ?? null) : null, albumName: sessionInfo.NowPlayingItem.Album ?? "", episodeCount: sessionInfo.NowPlayingItem.EpisodeCount, playback: { diff --git a/packages/integrations/src/jellyfin/jellyfin-integration.ts b/packages/integrations/src/jellyfin/jellyfin-integration.ts index 7450e6226..8b2fa1b08 100644 --- a/packages/integrations/src/jellyfin/jellyfin-integration.ts +++ b/packages/integrations/src/jellyfin/jellyfin-integration.ts @@ -59,14 +59,15 @@ export class JellyfinIntegration extends Integration implements IMediaServerInte const bitrateBps = sessionInfo.TranscodingInfo?.Bitrate ?? sessionInfo.NowPlayingItem.MediaSources?.[0]?.Bitrate ?? null; const bitrateKbps = bitrateBps !== null ? Math.round(bitrateBps / 1000) : null; + const isEpisode = sessionInfo.NowPlayingItem.Type === BaseItemKind.Episode; currentlyPlaying = { type: convertJellyfinType(sessionInfo.NowPlayingItem.Type), name: sessionInfo.NowPlayingItem.SeriesName ?? sessionInfo.NowPlayingItem.Name ?? "", seasonName: sessionInfo.NowPlayingItem.SeasonName ?? "", - seasonNumber: sessionInfo.NowPlayingItem.ParentIndexNumber ?? null, - episodeName: sessionInfo.NowPlayingItem.EpisodeTitle, - episodeNumber: sessionInfo.NowPlayingItem.IndexNumber ?? null, + seasonNumber: isEpisode ? (sessionInfo.NowPlayingItem.ParentIndexNumber ?? null) : null, + episodeName: isEpisode ? sessionInfo.NowPlayingItem.EpisodeTitle : null, + episodeNumber: isEpisode ? (sessionInfo.NowPlayingItem.IndexNumber ?? null) : null, albumName: sessionInfo.NowPlayingItem.Album ?? "", episodeCount: sessionInfo.NowPlayingItem.EpisodeCount, playback: { diff --git a/packages/integrations/src/plex/plex-integration.ts b/packages/integrations/src/plex/plex-integration.ts index ec46a466c..01f971abf 100644 --- a/packages/integrations/src/plex/plex-integration.ts +++ b/packages/integrations/src/plex/plex-integration.ts @@ -115,9 +115,9 @@ export class PlexIntegration extends Integration implements IMediaServerIntegrat type: mediaElement.$.live === "1" ? "tv" : PlexIntegration.getCurrentlyPlayingType(mediaElement.$.type), name: mediaElement.$.grandparentTitle ?? mediaElement.$.title ?? "Unknown", seasonName: mediaElement.$.parentTitle, - seasonNumber: parseOptionalNumber(mediaElement.$.parentIndex), - episodeName: mediaElement.$.title ?? null, - episodeNumber: parseOptionalNumber(mediaElement.$.index), + seasonNumber: mediaElement.$.type === "episode" ? parseOptionalNumber(mediaElement.$.parentIndex) : null, + episodeName: mediaElement.$.type === "episode" ? (mediaElement.$.title ?? null) : null, + episodeNumber: mediaElement.$.type === "episode" ? parseOptionalNumber(mediaElement.$.index) : null, albumName: mediaElement.$.type === "track" ? (mediaElement.$.parentTitle ?? null) : null, episodeCount: parseOptionalNumber(mediaElement.$.index), playback: {