Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Season's "Play" button does not account for Specials inside Season via "Airs before series/episode" setting, starts with "real" Episode 1 #6049

Closed
mihawk90 opened this issue Sep 10, 2024 · 2 comments · Fixed by #6065
Labels
bug Something isn't working

Comments

@mihawk90
Copy link
Contributor

mihawk90 commented Sep 10, 2024

Describe The Bug
Using an option in the Dashboard, Jellyfin can show TV Show Specials within the season they aired. However, the Season's "play" button (either on the poster or the season's details page) does not account for this and instead starts playing the season with its "real" Episode 1.
In the screenshot below, hitting the season's play button starts playing 1. The Man from Jupiter instead of Special - Heart of Archness (1).
Skipping through the season also does not play them somewhere in between or at the end, i.e. they are not considered for the queue at all.

Steps To Reproduce

  1. Have a TV show with Specials
  2. Enable the setting under Dashboard > Libraries > Display > Display specials within their series they aired in
  3. Set one or more specials as airing before a series/season (I did this via NFO, see below)
    • Refresh metadata if required
  4. Hit play on the specified season

Expected Behavior
It should start playing with the first episode defined in the season, which for the user would be the episode they specifically set as airing/playing before that season.
In the screenshot below this would be Special - Heart of Archness (1), but it starts playing 1. The Man from Jupiter instead.

Logs

[2024-09-10 10:28:01.591 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[2024-09-10 10:28:01.774 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User "tarulia" ("ff9a7a977560419caa150df824634ad9") posted 2 updates
[2024-09-10 10:28:01.774 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking "00:00:00.1829798"
[2024-09-10 10:30:37.734 +02:00] [INF] [21] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.10" closed
[2024-09-10 10:30:37.757 +02:00] [INF] [37] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.10" request
[2024-09-10 10:30:43.178 +02:00] [INF] [23] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.10" request
[2024-09-10 10:31:17.061 +02:00] [INF] [21] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "tarulia". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-09-10 10:31:17.374 +02:00] [INF] [37] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-09-10 10:31:17.374 +02:00] [INF] [37] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts -f matroska  -i file:\"/mnt/media/tvshows/Archer [tmdbid-10283]/Season 03/Archer.S03E01.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:2 -map -0:s -codec:v:0 copy -bsf:v h264_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/cache/transcodes/0776e4be776349e7d9c51660a26abf84%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/cache/transcodes/0776e4be776349e7d9c51660a26abf84.m3u8\""
[2024-09-10 10:31:18.401 +02:00] [INF] [37] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[2024-09-10 10:31:18.518 +02:00] [INF] [37] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User "tarulia" ("ff9a7a977560419caa150df824634ad9") posted 2 updates
[2024-09-10 10:31:18.518 +02:00] [INF] [37] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking "00:00:00.1174756"
[2024-09-10 10:31:22.867 +02:00] [INF] [26] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "/cache/transcodes/0776e4be776349e7d9c51660a26abf84.m3u8"
[2024-09-10 10:31:22.933 +02:00] [INF] [26] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2024-09-10 10:31:22.933 +02:00] [INF] [26] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/cache/transcodes/0776e4be776349e7d9c51660a26abf84.m3u8"
[2024-09-10 10:31:24.445 +02:00] [INF] [26] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.10" playing "The Man from Jupiter". Stopped at "4824" ms
[2024-09-10 10:31:24.958 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[2024-09-10 10:31:25.070 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User "tarulia" ("ff9a7a977560419caa150df824634ad9") posted 2 updates
[2024-09-10 10:31:25.070 +02:00] [INF] [23] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking "00:00:00.1113523"

Screenshots
image

System (please complete the following information):

  • Platform: Fedora Linux 40
  • Browser: Vivaldi 6.9
  • Jellyfin Version: 10.9.10 (.11 hasn't hit TrueNAS yet but there were no related fixes in the changelog so.. yea)

Additional Context

pwd
/mnt/tank/media/tvshows/Archer [tmdbid-10283]/Season 00
  ls | grep .nfo
Archer.S00E03.nfo
Archer.S00E04.nfo
Archer.S00E05.nfo
  sed -n -e '/<displayseason>/,/<\/displayepisode>/ p' *.nfo
    <displayseason>3</displayseason>
    <displayepisode>1</displayepisode>
    <displayseason>3</displayseason>
    <displayepisode>1</displayepisode>
    <displayseason>3</displayseason>
    <displayepisode>1</displayepisode>

Should be noted that if I set displayepisode to for example 3, the episodes of course show before 3 in the listing, but they are also actually put into the queue. So this seems to be specifically an issue when they are set to 1, or not at all (omitting the displayepisode tag works for displaying them at the start of the season at least).

Also, clicking play on the first Special also puts the entire season into the queue, so it's just the season button not grabbing the specials.

edit:
Also after some further testing, the Specials are correctly queued when using the Shows Play button (and skipping all the way through).

@viown
Copy link
Member

viown commented Sep 12, 2024

While I am able to reproduce this, looking at the code it does seem like intended behaviour. (The starting episode index is moved to the first episode ignoring any specials)

https://github.com/jellyfin/jellyfin-web/blob/master/src/components/playback/playbackmanager.js#L1960

@viown
Copy link
Member

viown commented Sep 12, 2024

Actually, nevermind. This does seem like a side effect from #5423

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants