Merge pull request #26350 from jjd-uk/estuary_media_align
[xbmc.git] / xbmc / windowing / android / AndroidUtils.h
blobe008e5d37e54d51ebc09721f83ca916e85451647
1 /*
2 * Copyright (C) 2011-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 "settings/lib/ISettingCallback.h"
12 #include "utils/HDRCapabilities.h"
13 #include "windowing/Resolution.h"
15 #include <string>
16 #include <vector>
18 #include <androidjni/Display.h>
20 class CAndroidUtils : public ISettingCallback
22 public:
23 CAndroidUtils();
24 ~CAndroidUtils() override = default;
25 bool GetNativeResolution(RESOLUTION_INFO* res) const;
26 bool SetNativeResolution(const RESOLUTION_INFO& res);
27 bool ProbeResolutions(std::vector<RESOLUTION_INFO>& resolutions);
28 bool UpdateDisplayModes();
29 bool IsHDRDisplay();
31 // Implementation of ISettingCallback
32 static const std::string SETTING_LIMITGUI;
33 void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
35 static bool SupportsMediaCodecMimeType(const std::string& mimeType);
37 static std::vector<int> GetDisplaySupportedHdrTypes();
38 static CHDRCapabilities GetDisplayHDRCapabilities();
39 static std::pair<bool, bool> GetDolbyVisionCapabilities();
41 protected:
42 mutable int m_width;
43 mutable int m_height;
45 private:
46 static void LogDisplaySupportedHdrTypes();