[WASAPI] set stream audio category
[xbmc.git] / xbmc / cores / playercorefactory / PlayerSelectionRule.h
blob694d5c9fb6204e2d9baafc7b922f8786b3562c6e
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "PlayerCoreFactory.h"
13 #include <string>
14 #include <vector>
16 class CFileItem;
17 class CRegExp;
18 class TiXmlElement;
20 class CPlayerSelectionRule
22 public:
23 explicit CPlayerSelectionRule(TiXmlElement* rule);
24 virtual ~CPlayerSelectionRule() = default;
26 void GetPlayers(const CFileItem& item, std::vector<std::string>&validPlayers, std::vector<std::string>&players);
28 private:
29 static int GetTristate(const char* szValue);
30 static bool CompileRegExp(const std::string& str, CRegExp& regExp);
31 static bool MatchesRegExp(const std::string& str, CRegExp& regExp);
32 void Initialize(TiXmlElement* pRule);
34 std::string m_name;
36 int m_tAudio;
37 int m_tVideo;
38 int m_tGame;
39 int m_tInternetStream;
40 int m_tRemote;
42 int m_tBD;
43 int m_tDVD;
44 int m_tDVDFile;
45 int m_tDiscImage;
47 std::string m_protocols;
48 std::string m_fileTypes;
49 std::string m_mimeTypes;
50 std::string m_fileName;
52 bool m_bStreamDetails;
53 std::string m_audioCodec;
54 std::string m_audioChannels;
55 std::string m_videoCodec;
56 std::string m_videoResolution;
57 std::string m_videoAspect;
58 std::string m_hdrType;
60 std::string m_playerName;
62 std::vector<std::unique_ptr<CPlayerSelectionRule>> vecSubRules;