diff --git a/depends/common/googletest/0001-FixWarningMaybe-uninitialized.patch b/depends/common/googletest/0001-FixWarningMaybe-uninitialized.patch new file mode 100644 index 000000000..2cad4ef7b --- /dev/null +++ b/depends/common/googletest/0001-FixWarningMaybe-uninitialized.patch @@ -0,0 +1,20 @@ +--- a/googletest/src/gtest-death-test.cc ++++ b/googletest/src/gtest-death-test.cc +@@ -1281,7 +1281,7 @@ + GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ + GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ + static void StackLowerThanAddress(const void* ptr, bool* result) { +- int dummy; ++ int dummy = 0; + *result = (&dummy < ptr); + } + +@@ -1289,7 +1289,7 @@ + GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ + GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ + static bool StackGrowsDown() { +- int dummy; ++ int dummy = 0; + bool result; + StackLowerThanAddress(&dummy, &result); + return result; diff --git a/inputstream.adaptive/addon.xml.in b/inputstream.adaptive/addon.xml.in index c6ec84c24..c5cc71504 100644 --- a/inputstream.adaptive/addon.xml.in +++ b/inputstream.adaptive/addon.xml.in @@ -1,7 +1,7 @@ @ADDON_DEPENDS@ @@ -14,218 +14,6 @@ library_@PLATFORM@="@LIBRARY_FILENAME@"/> @PLATFORM@ - -v20.0.2 (2021-10-09) -- Fix crash when no data sent to DemuxRead -- Update Bento4 lib -- Fix pixellation issue when seeking to head -- [DASH] support suggestedPresentationDelay -- increase 'no-seek' area default for live streams to 16 seconds - -v20.0.1 (2021-09-28) -- Adaptive bitrate switching and buffering initial support! -- Change default license if no pipes in license url -- Remove old unused Android ndk files -- Better WebVTT format checking -- [DASH] handle adaptationset switching tag to merge adaptationsets - -v20.0.0 (2021-09-14) -- Change test builds to 'Kodi 20 Nexus' -- Increase version to 20.0.0 - - With start of Kodi 20 Nexus, takes addon as major the same version number as Kodi. - This done to know easier to which Kodi the addon works. - -v2.6.23 (2021-08-06) -- Translations from weblate - de_de, ja_jp, ko_kr - - [Android] use multiple drm sessions (solves stuttering) - - [DASH] allow for misaligned segs in SegmentTimeline - -v2.6.22 (2021-07-18) -- Automation test release - -v2.6.21 (2021-07-18) -- Automation test release - -v2.6.20 (2021-07-17) -Translations updates from Weblate - - de_de, el_gr, es_es, fr_fr, he_il, hi_in, hr_hr, hu_hu, it_it, ja_jp, ko_kr, nl_nl, pl_pl, ro_ro, ru_ru, sk_sk, sv_se - -v2.6.19 (2021-07-17) -- Translations updates from Weblate - - af_za, am_et, ar_sa, ast_es, az_az, be_by, bg_bg, bs_ba, ca_es, cs_cz, cy_gb, da_dk, de_de, el_gr, en_au, en_gb, en_nz, en_us, eo, es_ar, es_es, es_mx, et_ee, eu_es, fa_af, fa_ir, fi_fi, fo_fo, fr_ca, fr_fr, gl_es, he_il, hi_in, hr_hr, hu_hu, hy_am, id_id, is_is, it_it, ja_jp, kn_in, ko_kr, lt_lt, lv_lv, ml_in, mn_mn, mt_mt, my_mm, nb_no, nl_nl, os_os, pl_pl, pt_br, pt_pt, ro_md, ro_ro, ru_ru, scn, si_lk, sk_sk, sq_al, sr_rs, sr_rs@latin, sv_se, szl, ta_in, tg_tj, th_th, tr_tr, uk_ua, uz_uz, vi_vn, zh_cn, zh_tw - -v2.6.18 (2021-07-13) -- Add support to pre-initialise DRM -- Fix intermittent crash when stopping Widevine videos - -v2.6.17 (2021-06-20) -- Fix decrypt errors on non-Android platforms -- [DASH] fix representation base urls -- Don't use filecache for subtitle downloads - -v2.6.16 (2021-05-21) -- Allow download retries for VOD -- [DASH] fix for minimumUpdatePeriod=0 -- [DASH] remove media_renewal_url and media_renewal_time -- License renewal for widevine -- [HLS] Fix SSD being deleted with multiple encrypted streams -- Overhaul manifest redirect logic -- fix seeking into separate chapters/resume time -- fix HEVC extra data crash -- improve settings - -v2.6.15 (2021-05-18) -- [HLS] support webvtt subtitle extensions -- [DASH] fix segmentTemplate calculation -- [HEVC] use constant frame rate if average is 0 -- [HLS] don't reset pts on new periods -- Don't remove secure decoder cap if not requested in manifest_type -- [Android] fallback to widevine L3 if L1 provisioning fails - -v2.6.14 (2021-04-22) -- Don't overwrite manifest headers with stream headers -- Stream headers default to manifest headers -- ac3 is recognised separately to eac3 -- [DASH] time and number placeholders can be used simultaneously -- [DASH] manifest_update_parameter property defaults to 'full' for SegmentTimeline -- [DASH] pssh attribute in ContentProtection tag allowed without cenc namespace -- [DASH] support ttml subs where codec isn't specified - -v2.6.13 (2021-04-10) -- Fix Debian packaging - -v2.6.12 (2021-04-09) -- Remove Android specific decrypter search paths -- Move Android addon to binary addons repo - -v2.6.11 (2021-04-08) -- Fix ampersand in changelog causing issues from v2.6.9 and v2.6.10 - -v2.6.10 (2021-04-08) -- Fix release build - -v2.6.9 (2021-04-08) -- Fix MPD Timing (remove publishTime and presentationTimeOffset) -- [Dash] Correctly set timeshift_buffer (live) -- [Dash] Support fpsScale in AdaptationSets -- [Dash] Fix missing audio languages -- [DASH] Support ec-3 channel count (urn:mpeg:mpegB:cicp:ChannelConfiguration) - -v2.6.8 (2021-03-26) -- [Dash] Append / to baseurl if required -- Fix Base Domain (fixes uri=/path/) - -v2.6.7 (2021-02-10) -- Fix build for ios/tvos -- Use the full BaseUrl if it's a real url inside an AdaptationSet - -v2.6.6 (2020-11-21) -- Matrix VideoCodec API change to v2.0.2 - Fix crypto session id handling - -v2.6.5 (2020-11-09) -- Matrix API change to v3.0.1 - Fix wrong flags bit shift - -v2.6.4 (2020-10-31) -- Fix protocol search in manifest URL - -v2.6.3 (2020-10-31) -- New C-api changes -- Fix URL's without domain (files) -- [MPD] Fix SegmentTimeline without given startTime - -v2.6.2 (2020-10-30) -- revert / rework effective url issues -- api related changes (buildsystem) - -v2.6.1 (2020-10-25) -- Fix effective url if paths beginning with / provided -- Several translations added / fixed -- Fix webvtt subtitles for time formats without leading hour 00: -- Fix segfault when playing PlayReady content (Android) -- Adapt to kodi c api changes - -v2.6.0 (2020-05-16) -- Update inputstream API 2.3.1 -- Update Global API 1.2.0 - -v2.5.6 (2020-04-25) -- Matrix API change to v2.3.0 - Pass mime type to inputstreams if available -- Matrix API change to v2.2.0 - Allows upto 256 streams, useful for netflix etc. - -v2.5.5 (2020-04-06) -- Matrix API change - Remove CanPauseSteram() and CanSeekStream() -- Update .gitignore - -v2.5.4 (2020-01-19) -- [HLS] url based initialization segment -- [DASH] Use effective URL for manifest update -- Implement Media Renewal Time -- Fixed WebVTT rlm and lrm -- Fixed and improved subtitle properties) -- Add multiple languages -- [DASH] Fix zero devision segfault - -v2.5.3 (2019-11-21) -- Fix retrieving SIDX from indexRange streams (youtube) -- Rework seek (use lead stream) - -v2.5.2 (2019-11-18) -- More languages added -- DolbyVision codec (dvhe) support, kodi changes required to get it work -- Add property to start LiveStreams from beginning (play_timeshift_buffer) -- Pass media_headers when downloading pssh-search segment -- Minor DASH full update / timing / url generation fixes - -v2.5.1 (2019-10-07) -- Language spain added -- multi period support -- mp4 webtt binary representation added -- minor fixes - -v2.5.0 (2019-09-02) -- New major versions for Matrix - -v2.4.0 (2019-08-16) -- Update Kodi VFS API 1.0.3 -- Build script cleanups -- Implement VP9 static HDR metadata -- MPD: location attibute added -- MPD: livestream bugfixes (uninitialized startPTS) - -v2.3.22 (2019-06-14) -- Bento4: sample duration workaround (24/1) -- WVDecrypter: remove sleep between decrypt calls - -v2.3.21 (2019-06-07) -- [DASH] initialize segment::range_begin_ for URL segments (youtube) - -v2.3.20 (2019-06-07) -- Fix parsing PR ContentProtection KID - -v2.3.19 (2019-06-02) -- [widevine] remove API 8 / Add API 11 -- [TS] Signal configuration change if extra-data has changed -- [DASH] Use PlayReady WRMHEADER to retrieve DefaultKID -- [DASH] Allow URL_SEGMENTS + Range-Bytes - -v2.3.18 (2019-05-11) -- align settings with internal resolution check -- [HLS] support single playlists - -v2.3.17 (2019-04-16) -- Fix KID's with 0 char inside - -v2.3.16 (2019-03-25) -- TTML parser fix -- [HLS] Add HEVC streams / Fix extra_data_size in ts parser -- [HLS] effective URL for license - -v2.3.15 (2019-02-11) -- Fix windows build - -v2.3.14 (2019-02-10) -- Add WebM container parser - Client InputStream per a transmissions adaptatives InputStream-klient til adaptive streams InputStream-Client für adaptive Streams diff --git a/inputstream.adaptive/changelog.txt b/inputstream.adaptive/changelog.txt new file mode 100644 index 000000000..5bb4eb6e6 --- /dev/null +++ b/inputstream.adaptive/changelog.txt @@ -0,0 +1,216 @@ +v20.0.3 (2021-12-10) +- Fix compile error by GCC 11 +- Fix build about global Kodi API version 1.3.1 + - Lower versions also still usable +- Moved changelog text within addon.xml to new changelog.txt + +v20.0.2 (2021-10-09) +- Fix crash when no data sent to DemuxRead +- Update Bento4 lib +- Fix pixellation issue when seeking to head +- [DASH] support suggestedPresentationDelay +- increase 'no-seek' area default for live streams to 16 seconds + +v20.0.1 (2021-09-28) +- Adaptive bitrate switching and buffering initial support! +- Change default license if no pipes in license url +- Remove old unused Android ndk files +- Better WebVTT format checking +- [DASH] handle adaptationset switching tag to merge adaptationsets + +v20.0.0 (2021-09-14) +- Change test builds to 'Kodi 20 Nexus' +- Increase version to 20.0.0 + - With start of Kodi 20 Nexus, takes addon as major the same version number as Kodi. + This done to know easier to which Kodi the addon works. + +v2.6.23 (2021-08-06) +- Translations from weblate - de_de, ja_jp, ko_kr + - [Android] use multiple drm sessions (solves stuttering) + - [DASH] allow for misaligned segs in SegmentTimeline + +v2.6.22 (2021-07-18) +- Automation test release + +v2.6.21 (2021-07-18) +- Automation test release + +v2.6.20 (2021-07-17) +Translations updates from Weblate + - de_de, el_gr, es_es, fr_fr, he_il, hi_in, hr_hr, hu_hu, it_it, ja_jp, ko_kr, nl_nl, pl_pl, ro_ro, ru_ru, sk_sk, sv_se + +v2.6.19 (2021-07-17) +- Translations updates from Weblate + - af_za, am_et, ar_sa, ast_es, az_az, be_by, bg_bg, bs_ba, ca_es, cs_cz, cy_gb, da_dk, de_de, el_gr, en_au, en_gb, en_nz, en_us, eo, es_ar, es_es, es_mx, et_ee, eu_es, fa_af, fa_ir, fi_fi, fo_fo, fr_ca, fr_fr, gl_es, he_il, hi_in, hr_hr, hu_hu, hy_am, id_id, is_is, it_it, ja_jp, kn_in, ko_kr, lt_lt, lv_lv, ml_in, mn_mn, mt_mt, my_mm, nb_no, nl_nl, os_os, pl_pl, pt_br, pt_pt, ro_md, ro_ro, ru_ru, scn, si_lk, sk_sk, sq_al, sr_rs, sr_rs@latin, sv_se, szl, ta_in, tg_tj, th_th, tr_tr, uk_ua, uz_uz, vi_vn, zh_cn, zh_tw + +v2.6.18 (2021-07-13) +- Add support to pre-initialise DRM +- Fix intermittent crash when stopping Widevine videos + +v2.6.17 (2021-06-20) +- Fix decrypt errors on non-Android platforms +- [DASH] fix representation base urls +- Don't use filecache for subtitle downloads + +v2.6.16 (2021-05-21) +- Allow download retries for VOD +- [DASH] fix for minimumUpdatePeriod=0 +- [DASH] remove media_renewal_url and media_renewal_time +- License renewal for widevine +- [HLS] Fix SSD being deleted with multiple encrypted streams +- Overhaul manifest redirect logic +- fix seeking into separate chapters/resume time +- fix HEVC extra data crash +- improve settings + +v2.6.15 (2021-05-18) +- [HLS] support webvtt subtitle extensions +- [DASH] fix segmentTemplate calculation +- [HEVC] use constant frame rate if average is 0 +- [HLS] don't reset pts on new periods +- Don't remove secure decoder cap if not requested in manifest_type +- [Android] fallback to widevine L3 if L1 provisioning fails + +v2.6.14 (2021-04-22) +- Don't overwrite manifest headers with stream headers +- Stream headers default to manifest headers +- ac3 is recognised separately to eac3 +- [DASH] time and number placeholders can be used simultaneously +- [DASH] manifest_update_parameter property defaults to 'full' for SegmentTimeline +- [DASH] pssh attribute in ContentProtection tag allowed without cenc namespace +- [DASH] support ttml subs where codec isn't specified + +v2.6.13 (2021-04-10) +- Fix Debian packaging + +v2.6.12 (2021-04-09) +- Remove Android specific decrypter search paths +- Move Android addon to binary addons repo + +v2.6.11 (2021-04-08) +- Fix ampersand in changelog causing issues from v2.6.9 and v2.6.10 + +v2.6.10 (2021-04-08) +- Fix release build + +v2.6.9 (2021-04-08) +- Fix MPD Timing (remove publishTime and presentationTimeOffset) +- [Dash] Correctly set timeshift_buffer (live) +- [Dash] Support fpsScale in AdaptationSets +- [Dash] Fix missing audio languages +- [DASH] Support ec-3 channel count (urn:mpeg:mpegB:cicp:ChannelConfiguration) + +v2.6.8 (2021-03-26) +- [Dash] Append / to baseurl if required +- Fix Base Domain (fixes uri=/path/) + +v2.6.7 (2021-02-10) +- Fix build for ios/tvos +- Use the full BaseUrl if it's a real url inside an AdaptationSet + +v2.6.6 (2020-11-21) +- Matrix VideoCodec API change to v2.0.2 - Fix crypto session id handling + +v2.6.5 (2020-11-09) +- Matrix API change to v3.0.1 - Fix wrong flags bit shift + +v2.6.4 (2020-10-31) +- Fix protocol search in manifest URL + +v2.6.3 (2020-10-31) +- New C-api changes +- Fix URL's without domain (files) +- [MPD] Fix SegmentTimeline without given startTime + +v2.6.2 (2020-10-30) +- revert / rework effective url issues +- api related changes (buildsystem) + +v2.6.1 (2020-10-25) +- Fix effective url if paths beginning with / provided +- Several translations added / fixed +- Fix webvtt subtitles for time formats without leading hour 00: +- Fix segfault when playing PlayReady content (Android) +- Adapt to kodi c api changes + +v2.6.0 (2020-05-16) +- Update inputstream API 2.3.1 +- Update Global API 1.2.0 + +v2.5.6 (2020-04-25) +- Matrix API change to v2.3.0 - Pass mime type to inputstreams if available +- Matrix API change to v2.2.0 - Allows upto 256 streams, useful for netflix etc. + +v2.5.5 (2020-04-06) +- Matrix API change - Remove CanPauseSteram() and CanSeekStream() +- Update .gitignore + +v2.5.4 (2020-01-19) +- [HLS] url based initialization segment +- [DASH] Use effective URL for manifest update +- Implement Media Renewal Time +- Fixed WebVTT rlm and lrm +- Fixed and improved subtitle properties) +- Add multiple languages +- [DASH] Fix zero devision segfault + +v2.5.3 (2019-11-21) +- Fix retrieving SIDX from indexRange streams (youtube) +- Rework seek (use lead stream) + +v2.5.2 (2019-11-18) +- More languages added +- DolbyVision codec (dvhe) support, kodi changes required to get it work +- Add property to start LiveStreams from beginning (play_timeshift_buffer) +- Pass media_headers when downloading pssh-search segment +- Minor DASH full update / timing / url generation fixes + +v2.5.1 (2019-10-07) +- Language spain added +- multi period support +- mp4 webtt binary representation added +- minor fixes + +v2.5.0 (2019-09-02) +- New major versions for Matrix + +v2.4.0 (2019-08-16) +- Update Kodi VFS API 1.0.3 +- Build script cleanups +- Implement VP9 static HDR metadata +- MPD: location attibute added +- MPD: livestream bugfixes (uninitialized startPTS) + +v2.3.22 (2019-06-14) +- Bento4: sample duration workaround (24/1) +- WVDecrypter: remove sleep between decrypt calls + +v2.3.21 (2019-06-07) +- [DASH] initialize segment::range_begin_ for URL segments (youtube) + +v2.3.20 (2019-06-07) +- Fix parsing PR ContentProtection KID + +v2.3.19 (2019-06-02) +- [widevine] remove API 8 / Add API 11 +- [TS] Signal configuration change if extra-data has changed +- [DASH] Use PlayReady WRMHEADER to retrieve DefaultKID +- [DASH] Allow URL_SEGMENTS + Range-Bytes + +v2.3.18 (2019-05-11) +- align settings with internal resolution check +- [HLS] support single playlists + +v2.3.17 (2019-04-16) +- Fix KID's with 0 char inside + +v2.3.16 (2019-03-25) +- TTML parser fix +- [HLS] Add HEVC streams / Fix extra_data_size in ts parser +- [HLS] effective URL for license + +v2.3.15 (2019-02-11) +- Fix windows build + +v2.3.14 (2019-02-10) +- Add WebM container parser diff --git a/src/log.h b/src/log.h index a3e8fd426..324ea5846 100644 --- a/src/log.h +++ b/src/log.h @@ -18,13 +18,11 @@ typedef enum LogLevel { - LOGLEVEL_DEBUG = 0, - LOGLEVEL_INFO = 1, - LOGLEVEL_NOTICE = 2, - LOGLEVEL_WARNING = 3, - LOGLEVEL_ERROR = 4, - LOGLEVEL_SEVERE = 5, - LOGLEVEL_FATAL = 6 + LOGLEVEL_DEBUG, + LOGLEVEL_INFO, + LOGLEVEL_WARNING, + LOGLEVEL_ERROR, + LOGLEVEL_FATAL } LogLevel; diff --git a/src/main.cpp b/src/main.cpp index 9e3d5005f..62bfb62b9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -63,13 +63,32 @@ void Log(const LogLevel loglevel, const char* format, ...) { + AddonLog addonLevel; + + switch (loglevel) + { + case LogLevel::LOGLEVEL_FATAL: + addonLevel = AddonLog::ADDON_LOG_FATAL; + break; + case LogLevel::LOGLEVEL_ERROR: + addonLevel = AddonLog::ADDON_LOG_ERROR; + break; + case LogLevel::LOGLEVEL_WARNING: + addonLevel = AddonLog::ADDON_LOG_WARNING; + break; + case LogLevel::LOGLEVEL_INFO: + addonLevel = AddonLog::ADDON_LOG_INFO; + break; + default: + addonLevel = AddonLog::ADDON_LOG_DEBUG; + } + char buffer[16384]; va_list args; va_start(args, format); vsprintf(buffer, format, args); va_end(args); - ::kodi::addon::CAddonBase::m_interface->toKodi->addon_log_msg( - ::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, loglevel, buffer); + kodi::Log(addonLevel, buffer); } static const AP4_Track::Type TIDC[adaptive::AdaptiveTree::STREAM_TYPE_COUNT] = {