From 5f8335c1e49ce108ef3481863833c98efa00411b Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 2 Jul 2020 23:09:26 +0200 Subject: sync with upstream --- .../kodi/c-api/addon-instance/pvr/pvr_stream.h | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h new file mode 100644 index 0000000..04b4059 --- /dev/null +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2005-2018 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 "pvr_defines.h" + +#ifdef BUILD_KODI_ADDON +#include "../../../DemuxPacket.h" +#else +#include "cores/VideoPlayer/Interface/Addon/DemuxPacket.h" +#endif + +#include +#include + +//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +// "C" Definitions group 9 - PVR stream definitions (NOTE: Becomes replaced +// in future by inputstream addon instance way) +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + + //============================================================================ + /// @ingroup cpp_kodi_addon_pvr_Defs_Stream + /// @brief Maximum of allowed streams + /// + #define PVR_STREAM_MAX_STREAMS 20 + //---------------------------------------------------------------------------- + + //============================================================================ + /// @ingroup cpp_kodi_addon_pvr_Defs_Stream + /// @brief Invalid codec identifier + /// + #define PVR_INVALID_CODEC_ID 0 + //---------------------------------------------------------------------------- + + //============================================================================ + /// @ingroup cpp_kodi_addon_pvr_Defs_Stream + /// @brief Invalid codec + /// + #define PVR_INVALID_CODEC \ + { \ + PVR_CODEC_TYPE_UNKNOWN, PVR_INVALID_CODEC_ID \ + } + //---------------------------------------------------------------------------- + + //============================================================================ + /// @defgroup cpp_kodi_addon_pvr_Defs_Stream_PVR_CODEC_TYPE enum PVR_CODEC_TYPE + /// @ingroup cpp_kodi_addon_pvr_Defs_Stream + /// @brief **Inputstream types**\n + /// To identify type on stream. + /// + /// Used on @ref kodi::addon::PVRStreamProperties::SetCodecType and @ref kodi::addon::PVRStreamProperties::SetCodecType. + /// + ///@{ + typedef enum PVR_CODEC_TYPE + { + /// @brief To set nothing defined. + PVR_CODEC_TYPE_UNKNOWN = -1, + + /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Video. + PVR_CODEC_TYPE_VIDEO, + + /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Audio. + PVR_CODEC_TYPE_AUDIO, + + /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Data. + /// + /// With codec id related source identified. + PVR_CODEC_TYPE_DATA, + + /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Subtitle. + PVR_CODEC_TYPE_SUBTITLE, + + /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Radio RDS. + PVR_CODEC_TYPE_RDS, + + PVR_CODEC_TYPE_NB + } PVR_CODEC_TYPE; + ///@} + //---------------------------------------------------------------------------- + + //============================================================================ + /// @defgroup cpp_kodi_addon_pvr_Defs_Stream_PVR_CODEC struct PVR_CODEC + /// @ingroup cpp_kodi_addon_pvr_Defs_Stream + /// @brief **Codec identification structure**\n + /// Identifier about stream between Kodi and addon. + /// + ///@{ + typedef struct PVR_CODEC + { + /// @brief Used codec type for stream. + enum PVR_CODEC_TYPE codec_type; + + /// @brief Related codec identifier, normally match the ffmpeg id's. + unsigned int codec_id; + } PVR_CODEC; + ///@} + //---------------------------------------------------------------------------- + + /*! + * @brief "C" Stream properties + * + * Structure used to interface in "C" between Kodi and Addon. + * + * See @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties for description of values. + */ + typedef struct PVR_STREAM_PROPERTIES + { + unsigned int iStreamCount; + struct PVR_STREAM + { + unsigned int iPID; + enum PVR_CODEC_TYPE iCodecType; + unsigned int iCodecId; + char strLanguage[4]; + int iSubtitleInfo; + int iFPSScale; + int iFPSRate; + int iHeight; + int iWidth; + float fAspect; + int iChannels; + int iSampleRate; + int iBlockAlign; + int iBitRate; + int iBitsPerSample; + } stream[PVR_STREAM_MAX_STREAMS]; + } PVR_STREAM_PROPERTIES; + + /*! + * @brief "C" Times of playing stream (Live TV and recordings) + * + * Structure used to interface in "C" between Kodi and Addon. + * + * See @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamTimes for description of values. + */ + typedef struct PVR_STREAM_TIMES + { + time_t startTime; + int64_t ptsStart; + int64_t ptsBegin; + int64_t ptsEnd; + } PVR_STREAM_TIMES; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ -- cgit v1.2.3