From 0afb1d4d51973cf52973617c92236d851a039d31 Mon Sep 17 00:00:00 2001 From: manuel Date: Sat, 2 Sep 2017 15:02:54 +0200 Subject: sync with upstream --- .../include/kodi/addon-instance/AudioDecoder.h | 2 +- .../include/kodi/addon-instance/AudioEncoder.h | 2 +- .../include/kodi/addon-instance/ImageDecoder.h | 2 +- .../include/kodi/addon-instance/Inputstream.h | 29 ++++++++++++++++------ .../include/kodi/addon-instance/Peripheral.h | 2 +- .../include/kodi/addon-instance/PeripheralUtils.h | 12 ++++----- .../include/kodi/addon-instance/Screensaver.h | 2 +- .../include/kodi/addon-instance/VFS.h | 6 ++--- .../include/kodi/addon-instance/VideoCodec.h | 2 +- .../include/kodi/addon-instance/Visualization.h | 2 +- 10 files changed, 38 insertions(+), 23 deletions(-) (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h index f56f8ae..ca253ff 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioDecoder.h @@ -83,7 +83,7 @@ namespace addon /// @param[in] instance The from Kodi given instance given be /// add-on CreateInstance call with instance /// id ADDON_INSTANCE_AUDIODECODER. - CInstanceAudioDecoder(KODI_HANDLE instance) + explicit CInstanceAudioDecoder(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_AUDIODECODER) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h index 3d59a99..7d2464d 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/AudioEncoder.h @@ -75,7 +75,7 @@ namespace addon /// @param[in] instance The from Kodi given instance given be /// add-on CreateInstance call with instance /// id ADDON_INSTANCE_AUDIOENCODER. - CInstanceAudioEncoder(KODI_HANDLE instance) + explicit CInstanceAudioEncoder(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_AUDIOENCODER) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h index a854711..5ccb859 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/ImageDecoder.h @@ -81,7 +81,7 @@ namespace addon /// @param[in] instance The from Kodi given instance given be /// add-on CreateInstance call with instance /// id ADDON_INSTANCE_IMAGEDECODER. - CInstanceImageDecoder(KODI_HANDLE instance) + explicit CInstanceImageDecoder(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_IMAGEDECODER) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) 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" { TYPE_TELETEXT } m_streamType; - enum Codec_FEATURES + enum Codec_FEATURES : uint32_t { FEATURE_DECODE = 1 }; - unsigned int m_features; + uint32_t m_features; + + enum STREAM_FLAGS : uint32_t + { + FLAG_NONE = 0x0000, + FLAG_DEFAULT = 0x0001, + FLAG_DUB = 0x0002, + FLAG_ORIGINAL = 0x0004, + FLAG_COMMENT = 0x0008, + FLAG_LYRICS = 0x0010, + FLAG_KARAOKE = 0x0020, + FLAG_FORCED = 0x0040, + FLAG_HEARING_IMPAIRED = 0x0080, + FLAG_VISUAL_IMPAIRED = 0x0100 + }; + uint32_t m_flags; char m_codecName[32]; /*!< @brief (required) name of codec according to ffmpeg */ char m_codecInternalName[32]; /*!< @brief (optional) internal name of codec (selectionstream info) */ @@ -173,7 +188,7 @@ extern "C" { struct INPUTSTREAM_IDS (__cdecl* get_stream_ids)(const AddonInstance_InputStream* instance); struct INPUTSTREAM_INFO (__cdecl* get_stream)(const AddonInstance_InputStream* instance, int streamid); void (__cdecl* enable_stream)(const AddonInstance_InputStream* instance, int streamid, bool enable); - void(__cdecl* open_stream)(const AddonInstance_InputStream* instance, int streamid); + bool(__cdecl* open_stream)(const AddonInstance_InputStream* instance, int streamid); void (__cdecl* demux_reset)(const AddonInstance_InputStream* instance); void (__cdecl* demux_abort)(const AddonInstance_InputStream* instance); void (__cdecl* demux_flush)(const AddonInstance_InputStream* instance); @@ -218,7 +233,7 @@ namespace addon class CInstanceInputStream : public IAddonInstance { public: - CInstanceInputStream(KODI_HANDLE instance) + explicit CInstanceInputStream(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_INPUTSTREAM) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) @@ -278,7 +293,7 @@ namespace addon * @param streamid unique id of stream * @remarks */ - virtual void OpenStream(int streamid) = 0; + virtual bool OpenStream(int streamid) = 0; /*! * Reset the demultiplexer in the add-on. @@ -513,9 +528,9 @@ namespace addon instance->toAddon.addonInstance->EnableStream(streamid, enable); } - inline static void ADDON_OpenStream(const AddonInstance_InputStream* instance, int streamid) + inline static bool ADDON_OpenStream(const AddonInstance_InputStream* instance, int streamid) { - instance->toAddon.addonInstance->OpenStream(streamid); + return instance->toAddon.addonInstance->OpenStream(streamid); } inline static void ADDON_DemuxReset(const AddonInstance_InputStream* instance) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h index 045a925..c1a18e0 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Peripheral.h @@ -319,7 +319,7 @@ namespace addon CAddonBase::m_interface->globalSingleInstance = this; } - CInstancePeripheral(KODI_HANDLE instance) + explicit CInstancePeripheral(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_PERIPHERAL) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h index 721da35..ea70b30 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PeripheralUtils.h @@ -104,7 +104,7 @@ namespace addon { } - Peripheral(const PERIPHERAL_INFO& info) : + explicit Peripheral(const PERIPHERAL_INFO& info) : m_type(info.type), m_strName(info.name ? info.name : ""), m_vendorId(info.vendor_id), @@ -196,7 +196,7 @@ namespace addon SetAxisState(state); } - PeripheralEvent(const PERIPHERAL_EVENT& event) : + explicit PeripheralEvent(const PERIPHERAL_EVENT& event) : m_event(event) { } @@ -259,7 +259,7 @@ namespace addon *this = other; } - Joystick(const JOYSTICK_INFO& info) : + explicit Joystick(const JOYSTICK_INFO& info) : Peripheral(info.peripheral), m_provider(info.provider ? info.provider : ""), m_requestedPort(info.requested_port), @@ -445,7 +445,7 @@ namespace addon return DriverPrimitive(JOYSTICK_DRIVER_PRIMITIVE_TYPE_MOTOR, motorIndex); } - DriverPrimitive(const JOYSTICK_DRIVER_PRIMITIVE& primitive) : + explicit DriverPrimitive(const JOYSTICK_DRIVER_PRIMITIVE& primitive) : m_type(primitive.type), m_driverIndex(0), m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), @@ -604,12 +604,12 @@ namespace addon *this = other; } - JoystickFeature(const JOYSTICK_FEATURE& feature) : + explicit JoystickFeature(const JOYSTICK_FEATURE& feature) : m_name(feature.name ? feature.name : ""), m_type(feature.type) { for (unsigned int i = 0; i < JOYSTICK_PRIMITIVE_MAX; i++) - m_primitives[i] = feature.primitives[i]; + m_primitives[i] = DriverPrimitive(feature.primitives[i]); } JoystickFeature& operator=(const JoystickFeature& rhs) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h index 85cd7bc..04821b2 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Screensaver.h @@ -261,7 +261,7 @@ namespace addon /// /// @warning Only use `instance` from the CreateInstance call /// - CInstanceScreensaver(KODI_HANDLE instance) + explicit CInstanceScreensaver(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_SCREENSAVER) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h index 4bb3e69..8e688d7 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h @@ -119,7 +119,7 @@ namespace addon class CInstanceVFS : public IAddonInstance { public: - CInstanceVFS(KODI_HANDLE instance) + explicit CInstanceVFS(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_VFS) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) @@ -350,7 +350,7 @@ namespace addon m_cb->require_authentication(m_cb->ctx, url.c_str()); } - CVFSCallbacks(const VFSGetDirectoryCallbacks* cb) : m_cb(cb) { } + explicit CVFSCallbacks(const VFSGetDirectoryCallbacks* cb) : m_cb(cb) { } private: const VFSGetDirectoryCallbacks* m_cb; @@ -519,7 +519,7 @@ namespace addon VFSGetDirectoryCallbacks* callbacks) { std::vector addonEntries; - bool ret = instance->toAddon.addonInstance->GetDirectory(*url, addonEntries, callbacks); + bool ret = instance->toAddon.addonInstance->GetDirectory(*url, addonEntries, CVFSCallbacks(callbacks)); if (ret) { VFSDirEntry* entries = static_cast(malloc(sizeof(VFSDirEntry) * addonEntries.size())); diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h index 710fda0..02d39c6 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VideoCodec.h @@ -158,7 +158,7 @@ namespace kodi class CInstanceVideoCodec : public IAddonInstance { public: - CInstanceVideoCodec(KODI_HANDLE instance) + explicit CInstanceVideoCodec(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_VIDEOCODEC) { if (CAddonBase::m_interface->globalSingleInstance != nullptr) diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h index b1ded64..452085a 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/Visualization.h @@ -340,7 +340,7 @@ namespace addon /// /// @warning Only use `instance` from the CreateInstance call /// - CInstanceVisualization(KODI_HANDLE instance) + explicit CInstanceVisualization(KODI_HANDLE instance) : IAddonInstance(ADDON_INSTANCE_VISUALIZATION), m_presetLockedByUser(false) { -- cgit v1.2.3