aboutsummaryrefslogtreecommitdiff
path: root/xbmc/application/Application.cpp
diff options
context:
space:
mode:
author78andyp <drandypowell@live.co.uk>2024-04-26 14:43:37 +0100
committer78andyp <drandypowell@live.co.uk>2024-04-26 14:43:37 +0100
commit54a63d02f1e63ebad0cd99dc06ca070c91ceb93c (patch)
treee4b0eb6225aa1cc99a8c5dcf1c721137d8047fad /xbmc/application/Application.cpp
parenta5fb12b4637c62a47a59fcc50f2c88246e9d6fff (diff)
downloadxbmc-54a63d02f1e63ebad0cd99dc06ca070c91ceb93c.tar.xz
[Video] Improve user experience when playing movies/episodes from Bluray ISO/BDMV.
Diffstat (limited to 'xbmc/application/Application.cpp')
-rw-r--r--xbmc/application/Application.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp
index 6541a22759..9244fb2040 100644
--- a/xbmc/application/Application.cpp
+++ b/xbmc/application/Application.cpp
@@ -2286,7 +2286,10 @@ bool CApplication::PlayStack(CFileItem& item, bool bRestart)
return PlayFile(selectedStackPart, "", true);
}
-bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRestart)
+bool CApplication::PlayFile(CFileItem item,
+ const std::string& player,
+ bool bRestart /* = false */,
+ bool forceSelection /* = false */)
{
// Ensure the MIME type has been retrieved for http:// and shout:// streams
if (item.GetMimeType().empty())
@@ -2426,7 +2429,7 @@ bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRes
// a disc image might be Blu-Ray disc
if (!(options.startpercent > 0.0 || options.starttime > 0.0) &&
- (IsBDFile(item) || item.IsDiscImage()))
+ (IsBDFile(item) || item.IsDiscImage() || (IsBlurayPlaylist(item) && forceSelection)))
{
// No video selection when using external or remote players (they handle it if supported)
const bool isSimpleMenuAllowed = [&]()
@@ -2444,7 +2447,7 @@ bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRes
if (isSimpleMenuAllowed)
{
// Check if we must show the simplified bd menu.
- if (!CGUIDialogSimpleMenu::ShowPlaySelection(item))
+ if (!CGUIDialogSimpleMenu::ShowPlaySelection(item, forceSelection))
return true;
}
}