diff options
Diffstat (limited to 'xbmc/utils/PlayerUtils.cpp')
-rw-r--r-- | xbmc/utils/PlayerUtils.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/xbmc/utils/PlayerUtils.cpp b/xbmc/utils/PlayerUtils.cpp new file mode 100644 index 0000000..3fd6847 --- /dev/null +++ b/xbmc/utils/PlayerUtils.cpp @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#include "PlayerUtils.h" + +#include "FileItem.h" +#include "music/MusicUtils.h" +#include "utils/Variant.h" +#include "video/VideoUtils.h" + +bool CPlayerUtils::IsItemPlayable(const CFileItem& itemIn) +{ + const CFileItem item(itemIn.GetItemToPlay()); + + // General + if (item.IsParentFolder()) + return false; + + // Plugins + if (item.IsPlugin() && item.GetProperty("isplayable").asBoolean()) + return true; + + // Music + if (MUSIC_UTILS::IsItemPlayable(item)) + return true; + + // Movies / TV Shows / Music Videos + if (VIDEO_UTILS::IsItemPlayable(item)) + return true; + + //! @todo add more types on demand. + + return false; +} |