summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2017-09-02 15:02:54 +0200
committermanuel <manuel@mausz.at>2017-09-02 15:02:54 +0200
commit0afb1d4d51973cf52973617c92236d851a039d31 (patch)
tree300741b800f0e013ba1e709cc46460de6383f2bb /xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h
parent86b22151f0758311fd146ff508e7254337414bc1 (diff)
downloadkodi-pvr-build-0afb1d4d51973cf52973617c92236d851a039d31.tar.gz
kodi-pvr-build-0afb1d4d51973cf52973617c92236d851a039d31.tar.bz2
kodi-pvr-build-0afb1d4d51973cf52973617c92236d851a039d31.zip
sync with upstream
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h
index 76cfe92..8db17c0 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Inputstream.h
@@ -109,11 +109,26 @@ extern "C" {
109 TYPE_TELETEXT 109 TYPE_TELETEXT
110 } m_streamType; 110 } m_streamType;
111 111
112 enum Codec_FEATURES 112 enum Codec_FEATURES : uint32_t
113 { 113 {
114 FEATURE_DECODE = 1 114 FEATURE_DECODE = 1
115 }; 115 };
116 unsigned int m_features; 116 uint32_t m_features;
117
118 enum STREAM_FLAGS : uint32_t
119 {
120 FLAG_NONE = 0x0000,
121 FLAG_DEFAULT = 0x0001,
122 FLAG_DUB = 0x0002,
123 FLAG_ORIGINAL = 0x0004,
124 FLAG_COMMENT = 0x0008,
125 FLAG_LYRICS = 0x0010,
126 FLAG_KARAOKE = 0x0020,
127 FLAG_FORCED = 0x0040,
128 FLAG_HEARING_IMPAIRED = 0x0080,
129 FLAG_VISUAL_IMPAIRED = 0x0100
130 };
131 uint32_t m_flags;
117 132
118 char m_codecName[32]; /*!< @brief (required) name of codec according to ffmpeg */ 133 char m_codecName[32]; /*!< @brief (required) name of codec according to ffmpeg */
119 char m_codecInternalName[32]; /*!< @brief (optional) internal name of codec (selectionstream info) */ 134 char m_codecInternalName[32]; /*!< @brief (optional) internal name of codec (selectionstream info) */
@@ -173,7 +188,7 @@ extern "C" {
173 struct INPUTSTREAM_IDS (__cdecl* get_stream_ids)(const AddonInstance_InputStream* instance); 188 struct INPUTSTREAM_IDS (__cdecl* get_stream_ids)(const AddonInstance_InputStream* instance);
174 struct INPUTSTREAM_INFO (__cdecl* get_stream)(const AddonInstance_InputStream* instance, int streamid); 189 struct INPUTSTREAM_INFO (__cdecl* get_stream)(const AddonInstance_InputStream* instance, int streamid);
175 void (__cdecl* enable_stream)(const AddonInstance_InputStream* instance, int streamid, bool enable); 190 void (__cdecl* enable_stream)(const AddonInstance_InputStream* instance, int streamid, bool enable);
176 void(__cdecl* open_stream)(const AddonInstance_InputStream* instance, int streamid); 191 bool(__cdecl* open_stream)(const AddonInstance_InputStream* instance, int streamid);
177 void (__cdecl* demux_reset)(const AddonInstance_InputStream* instance); 192 void (__cdecl* demux_reset)(const AddonInstance_InputStream* instance);
178 void (__cdecl* demux_abort)(const AddonInstance_InputStream* instance); 193 void (__cdecl* demux_abort)(const AddonInstance_InputStream* instance);
179 void (__cdecl* demux_flush)(const AddonInstance_InputStream* instance); 194 void (__cdecl* demux_flush)(const AddonInstance_InputStream* instance);
@@ -218,7 +233,7 @@ namespace addon
218 class CInstanceInputStream : public IAddonInstance 233 class CInstanceInputStream : public IAddonInstance
219 { 234 {
220 public: 235 public:
221 CInstanceInputStream(KODI_HANDLE instance) 236 explicit CInstanceInputStream(KODI_HANDLE instance)
222 : IAddonInstance(ADDON_INSTANCE_INPUTSTREAM) 237 : IAddonInstance(ADDON_INSTANCE_INPUTSTREAM)
223 { 238 {
224 if (CAddonBase::m_interface->globalSingleInstance != nullptr) 239 if (CAddonBase::m_interface->globalSingleInstance != nullptr)
@@ -278,7 +293,7 @@ namespace addon
278 * @param streamid unique id of stream 293 * @param streamid unique id of stream
279 * @remarks 294 * @remarks
280 */ 295 */
281 virtual void OpenStream(int streamid) = 0; 296 virtual bool OpenStream(int streamid) = 0;
282 297
283 /*! 298 /*!
284 * Reset the demultiplexer in the add-on. 299 * Reset the demultiplexer in the add-on.
@@ -513,9 +528,9 @@ namespace addon
513 instance->toAddon.addonInstance->EnableStream(streamid, enable); 528 instance->toAddon.addonInstance->EnableStream(streamid, enable);
514 } 529 }
515 530
516 inline static void ADDON_OpenStream(const AddonInstance_InputStream* instance, int streamid) 531 inline static bool ADDON_OpenStream(const AddonInstance_InputStream* instance, int streamid)
517 { 532 {
518 instance->toAddon.addonInstance->OpenStream(streamid); 533 return instance->toAddon.addonInstance->OpenStream(streamid);
519 } 534 }
520 535
521 inline static void ADDON_DemuxReset(const AddonInstance_InputStream* instance) 536 inline static void ADDON_DemuxReset(const AddonInstance_InputStream* instance)