From 3cb8aa05f8cee9e860cf83531682ff0ed4af6a4f Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 4 Mar 2021 23:36:40 +0100 Subject: sync with upstream --- .../addon-instance/inputstream/TimingConstants.h | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream/TimingConstants.h (limited to 'xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream/TimingConstants.h') diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream/TimingConstants.h b/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream/TimingConstants.h new file mode 100644 index 0000000..22f8952 --- /dev/null +++ b/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream/TimingConstants.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005-2020 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. + */ + +#pragma once + +#include "../../c-api/addon-instance/inputstream/timing_constants.h" + +#ifdef __cplusplus + +// Unset the on timing_constants.h given defines +#undef STREAM_TIME_TO_MSEC +#undef STREAM_SEC_TO_TIME +#undef STREAM_MSEC_TO_TIME + +/// @ingroup cpp_kodi_addon_inputstream_Defs_TimingConstants +/// @brief Converts a stream time to milliseconds as an integer value. +/// +/// @param[in] x Stream time +/// @return Milliseconds +/// +/// @note Within "C" code this is used as `#define`. +/// +constexpr int STREAM_TIME_TO_MSEC(double x) +{ + return static_cast(x * 1000 / STREAM_TIME_BASE); +} + +/// @ingroup cpp_kodi_addon_inputstream_Defs_TimingConstants +/// @brief Converts a time in seconds to the used stream time format. +/// +/// @param[in] x Seconds +/// @return Stream time +/// +/// @note Within "C" code this is used as `#define`. +/// +constexpr double STREAM_SEC_TO_TIME(double x) +{ + return x * STREAM_TIME_BASE; +} + +/// @ingroup cpp_kodi_addon_inputstream_Defs_TimingConstants +/// @brief Converts a time in milliseconds to the used stream time format. +/// +/// @param[in] x Milliseconds +/// @return Stream time +/// +/// @note Within "C" code this is used as `#define`. +/// +constexpr double STREAM_MSEC_TO_TIME(double x) +{ + return x * STREAM_TIME_BASE / 1000; +} + +#endif /* __cplusplus */ -- cgit v1.2.3