What's strange is that I tested a couple more full 3D ISO's, again with 'Automatic menu selection' enabled under Player settings, and the 'Select playback item' and actual Blu-ray menus worked well... for the most part. Video demo3 of other 3D ISO's, one fine, other with an issue.
Claude analyses your log and code:
The log settles it — it's not a bug in the menu code, it's Automatic menu selection doing exactly what it says, because his library items already carry a chosen playlist.
The evidence
Decoding what Kodi is asked to play for 3-D Rarities:
20:56:54.954 OnPlayMedia bluray://udf:///storage/Videos1/Movies3D/3-D Rarities (2015).3D/
3-D Rarities (2015).3D.iso//BDMV/PLAYLIST/01001.mpls
20:56:54.959 VideoPlayer::OpenFile: <same>
The dynpath is a specific playlist, 01001.mpls — not the ISO. Follow that through GetMenuDecisions (ApplicationPlay.cpp:207 onward):
- isBluray = IsBlurayDiscImage(item) → uses item.GetDynPath() and needs URIUtils::IsDiscImage() first. A bluray://…/01001.mpls path is not a disc image → false.
- isBlurayPath → true.
- Setting is BD_PLAYBACK_AUTO, so useDiscMenuSetting, useMainTitleSetting, forceSelectionAtStart and mainTitle are all false.
- if (isBluray && atStart && !mainTitle) — skipped, isBluray is false.
- if (forceSelectionAtStart && isBlurayPath && atStart) — skipped, forceSelectionAtStart is false.
- → NO_ACTION, so it plays 01001.mpls straight off.
No chooser, no "Show Blu-ray menu" entry, no DVD Menu in the OSD. All three symptoms, one cause. And BD_PLAYBACK_AUTO is commented "Only use simple menu if playlist not known" — the playlist is known, so it doesn't ask. Working as designed.
His own log shows the contrast: across ~18 minutes the select dialog opens exactly once (Window Init (DialogSelect.xml) at 20:58:44), while the discs he plays as plain ISO paths — /storage/Videos2/Various/Best of 3D … .iso, IMAX Shaolin Bootcamp, Predator — go down the isBluray == true route.
So my earlier candidate A (your f979f4c1b6 resume change) is not involved: isBluray is false regardless of atStart, so the resume point never enters into it.
What changed for him
Nothing in the decision logic — GetMenuDecisions is untouched on this branch apart from the resume commit. What changed is the stored dynpath: those two movies now resolve to 01001.mpls in his library, where previously the library held the ISO. That comes from playlist resolution at scan time (VideoInfoScanner → GetOrShowPlaylistSelection(..., SILENT)), or from a title he picked once being saved. Either way, from then on AUTO stops asking.
Worth telling him he can confirm it in seconds: play the same film from Files rather than the library and the chooser comes back, because the path is then the ISO.
Two side observations from his log
- GetDirectory - Error getting udf:///…/BDMV/META/TN — missing thumbnail directory, harmless noise.
- bdj.c:795: BD-J check: Failed to load JVM library at 20:58:46 — the same aarch64 JVM-path bug I diagnosed and patched today, on his Pi 5. So any BD-J disc will fail for him too, and packages/multimedia/libbluray/patches/0002-java-arch-aarch64.patch would fix it for these builds.
The real question
This is a behaviour decision rather than a defect: should AUTO still offer the disc menu when the playlist is known? Right now "playlist known" removes the only route to the disc menu for a library item, which is what he's actually complaining about. Options, if you want to change it:
- Have AUTO return SHOW_SIMPLE_MENU for isBlurayPath at start when the disc supports menus — restores his chooser, at the cost of a dialog on every library play.
- Leave AUTO alone and make the disc menu reachable another way for a known playlist — e.g. keep the OSD "DVD Menu" action available whenever HasMenuSupport(), which is closer to what he expected ("no 'DVD Menu' option in the OSD either").