aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <3226626+ksooo@users.noreply.github.com>2023-12-27 20:35:23 +0100
committerGitHub <noreply@github.com>2023-12-27 20:35:23 +0100
commitfa125a3b3d98a1b2d59406809fc77bc0164084f4 (patch)
tree278fb943677f07988979f91294adb659d6d069a2
parent7a09e7d929aaf94692e4948f06506ef37dac9dfe (diff)
parent59aa086700ee6bc6c0d88ac72e0ae525e3126aca (diff)
Merge pull request #24333 from ksooo/video-fix-strm-video-info
[video] Fix no video information available when playing strm files, …
-rw-r--r--xbmc/application/Application.cpp5
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.cpp4
2 files changed, 6 insertions, 3 deletions
diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp
index 0c195e01fa..720e473cc4 100644
--- a/xbmc/application/Application.cpp
+++ b/xbmc/application/Application.cpp
@@ -2394,8 +2394,9 @@ bool CApplication::PlayFile(CFileItem item, const std::string& player, bool bRes
if (videoInfoTagPath.find("removable://") == 0 || item.IsVideoDb())
path = videoInfoTagPath;
- if (!item.HasVideoInfoTag())
- dbs.LoadVideoInfo(path, *item.GetVideoInfoTag());
+ // Note that we need to load the tag from database also if the item already has a tag,
+ // because for example the (full) video info for strm files will be loaded here.
+ dbs.LoadVideoInfo(path, *item.GetVideoInfoTag());
if (item.HasProperty("savedplayerstate"))
{
diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp
index b7f43a7132..788885cd64 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.cpp
+++ b/xbmc/video/windows/GUIWindowVideoBase.cpp
@@ -1077,8 +1077,10 @@ bool CGUIWindowVideoBase::PlayItem(const std::shared_ptr<CFileItem>& pItem,
CServiceBroker::GetPlaylistPlayer().Play();
return true;
}
- else if (pItem->IsPlayList())
+ else if (pItem->IsPlayList() && !pItem->IsType(".strm"))
{
+ // Note: strm files being somehow special playlists need to be handled in OnPlay*Media
+
// load the playlist the old way
LoadPlayList(pItem->GetDynPath(), PLAYLIST::TYPE_VIDEO);
return true;