diff options
author | ksooo <3226626+ksooo@users.noreply.github.com> | 2023-12-27 13:35:17 +0100 |
---|---|---|
committer | ksooo <3226626+ksooo@users.noreply.github.com> | 2023-12-27 13:35:17 +0100 |
commit | 59aa086700ee6bc6c0d88ac72e0ae525e3126aca (patch) | |
tree | 6db431202ad6c0a9038763ca98ccb77c422d8b14 | |
parent | 0ac3c88709d79268209c4f2a777ca04fcc1c40dd (diff) |
[video] Fix no video information available when playing strm files, although they were added to the video library.
-rw-r--r-- | xbmc/application/Application.cpp | 5 | ||||
-rw-r--r-- | xbmc/video/windows/GUIWindowVideoBase.cpp | 4 |
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; |