diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 300fdc5ee..af7085352 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -39,11 +39,11 @@ jobs:
ARCHITECTURE: x64
CONFIGURATION: Release
WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0"
- ARM32-UWP:
- GENERATOR: "Visual Studio 17 2022"
- ARCHITECTURE: ARM
- CONFIGURATION: Release
- WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0"
+ #ARM32-UWP:
+ # GENERATOR: "Visual Studio 17 2022"
+ # ARCHITECTURE: ARM
+ # CONFIGURATION: Release
+ # WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0"
#ARM64-UWP:
# GENERATOR: "Visual Studio 17 2022"
# ARCHITECTURE: ARM64
@@ -57,7 +57,7 @@ jobs:
- script: |
cd ..
- git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git kodi
+ git clone --branch Omega --depth=1 https://github.com/xbmc/xbmc.git kodi
cd $(Build.SourcesDirectory)
mkdir build
cd build
diff --git a/depends/common/bento4/bento4.sha256 b/depends/common/bento4/bento4.sha256
index 5a9710c48..ea118ca9d 100644
--- a/depends/common/bento4/bento4.sha256
+++ b/depends/common/bento4/bento4.sha256
@@ -1 +1 @@
-f1f8cfa4f7cb651b609e587f825607cb4b06fe5b08af876fd0154a434f9a5315
\ No newline at end of file
+a9b231b63159b3a4d9e47c5328b476308852bf092ccb9ce98f7cf46a386465ce
\ No newline at end of file
diff --git a/depends/common/bento4/bento4.txt b/depends/common/bento4/bento4.txt
index 25f31e98f..72cf572be 100644
--- a/depends/common/bento4/bento4.txt
+++ b/depends/common/bento4/bento4.txt
@@ -1 +1 @@
-bento4 https://github.com/xbmc/Bento4/archive/refs/tags/1.6.0-641-Omega.tar.gz
+bento4 https://github.com/xbmc/Bento4/archive/refs/tags/1.6.0-641-3-Omega.tar.gz
diff --git a/depends/common/pugixml/flags.txt b/depends/common/pugixml/flags.txt
new file mode 100644
index 000000000..8abc32977
--- /dev/null
+++ b/depends/common/pugixml/flags.txt
@@ -0,0 +1 @@
+-DCMAKE_POLICY_VERSION_MINIMUM=3.5
diff --git a/depends/common/rapidjson/flags.txt b/depends/common/rapidjson/flags.txt
index 157ee17ac..ef0241ec2 100644
--- a/depends/common/rapidjson/flags.txt
+++ b/depends/common/rapidjson/flags.txt
@@ -1 +1 @@
--DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_CXX17=ON -DRAPIDJSON_HAS_STDSTRING=ON
+-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_CXX17=ON -DRAPIDJSON_HAS_STDSTRING=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5
diff --git a/depends/windows/dlfcn-win32/flags.txt b/depends/windows/dlfcn-win32/flags.txt
index 3cb0a00ec..16eb55f83 100644
--- a/depends/windows/dlfcn-win32/flags.txt
+++ b/depends/windows/dlfcn-win32/flags.txt
@@ -1 +1 @@
--DBUILD_SHARED_LIBS=OFF
+-DBUILD_SHARED_LIBS=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5
diff --git a/depends/windowsstore/dlfcn-win32/flags.txt b/depends/windowsstore/dlfcn-win32/flags.txt
index 3cb0a00ec..16eb55f83 100644
--- a/depends/windowsstore/dlfcn-win32/flags.txt
+++ b/depends/windowsstore/dlfcn-win32/flags.txt
@@ -1 +1 @@
--DBUILD_SHARED_LIBS=OFF
+-DBUILD_SHARED_LIBS=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5
diff --git a/inputstream.adaptive/addon.xml.in b/inputstream.adaptive/addon.xml.in
index 856a8a99a..73c7d96e1 100644
--- a/inputstream.adaptive/addon.xml.in
+++ b/inputstream.adaptive/addon.xml.in
@@ -1,7 +1,7 @@
@ADDON_DEPENDS@
@@ -10,7 +10,7 @@
name="adaptive"
extension=""
tags="true"
- listitemprops="drm|license_type|license_key|license_url|license_url_append|license_data|license_flags|manifest_type|server_certificate|manifest_update_parameter|manifest_upd_params|manifest_params|manifest_headers|stream_params|stream_headers|original_audio_language|play_timeshift_buffer|pre_init_data|stream_selection_type|chooser_bandwidth_max|chooser_resolution_max|chooser_resolution_secure_max|live_delay|internal_cookies|config|manifest_config"
+ listitemprops="drm_legacy|license_type|license_key|license_url|license_url_append|license_data|license_flags|manifest_type|server_certificate|manifest_update_parameter|manifest_upd_params|manifest_params|manifest_headers|stream_params|stream_headers|original_audio_language|play_timeshift_buffer|pre_init_data|stream_selection_type|chooser_bandwidth_max|chooser_resolution_max|chooser_resolution_secure_max|live_delay|internal_cookies|config|manifest_config"
library_@PLATFORM@="@LIBRARY_FILENAME@"/>
@PLATFORM@
@@ -21,26 +21,46 @@
fanart.jpg
Client InputStream per a transmissions adaptatives
+ Klient adaptivních toků protokolu InputStream
InputStream-klient til adaptive streams
InputStream-Client für adaptive Streams
InputStream client for adaptive streams
- Cliente InputStream para flujo de datos adaptativos
+ Cliente InputStream para transmisiones adaptativas
+ Cliente InputStream para transmisiones adaptativas
+ InputStream klient kohanduvate voogude jaoks
+ InputStream-asiakas mukautuville mediavirroille
+ Client InputStream pour les flux adaptatifs
לקוח InputStream לתזרימים מסתגלים
- InputStream klijent za adaptivne tokove
+ InputStream klijent za prilagodljiva strujanja
InputStream kliens az adaptív streamekhez
- 가변 스트림을 위한 InputStream 클라이언트
+ InputStream-biðlari fyrir aðlaganleg streymi
+ Client InputStream per flussi adattivi
+ 적응형 스트림을 위한 InputStream 클라이언트
+ InputStream klients adaptīvām straumēm
+ InputStream client voor adaptive streams
Klient InputStream dla strumieni adaptacyjnych
- InputStream клиент для адаптивных трансляций
+ Cliente InputStream para transmissões adaptáveis
+ Клиент InputStream для адаптивных потоков
+ 用于自适应流的 InputStream 客户端
Client InputStream per a transmissions adaptatives
+ Klient adaptivních toků protokolu InputStream
InputStream-klient til adaptive streams
- InputStream-Client für adaptive Streams
+ InputStream-Client für adaptive Streams. Unterstützt werden Streamingprotokolle wie MPEG-DASH, HLS und Microsoft Smooth Streaming.[CR][CR] Das Addon unterstützt ebenfalls DRM-geschützte Streams, wie Google Widevine, Microsoft Playready und andere.[CR][CR]Für Dokumentation https://github.com/xbmc/inputstream.adaptive besuchen
InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive
- Cliente InputStream para flujo de datos adaptativos
+ Cliente InputStream para transmisiones de datos adaptativos. Se admiten protocolos de transmisión comunes como MPEG-DASH, HLS y Microsoft Smooth Streaming.[CR][CR]El complemento también es compatible con transmisiones protegidas por DRM, como Google Widevine, Microsoft PlayReady y otros.[CR][CR]Para consultar la documentación, visite: https://github.com/xbmc/inputstream.adaptive
+ Cliente InputStream para transmisiones adaptativas
+ InputStream klient adaptiivsete voogude jaoks. Toetatakse levinud voogedastusprotokolle, nagu MPEG-DASH, HLS ja Microsoft Smooth Streaming.[CR][CR]Lisamoodul toetab ka DRM-iga kaitstud vooge, nagu Google Widevine, Microsoft PlayReady ja teised.[CR][CR][CR] ]Dokumentatsiooni saamiseks külasta aadressi https://github.com/xbmc/inputstream.adaptive
+ InputStream-asiakas mukautuville mediavirroille, joka tukee yleisiä suoratoistoprotokollia, kuten MPEG-DASH, HLS ja Microsoft Smooth Streaming.[CR][CR]Tukee myös mm. Google Widevine ja Microsoft PlayReady -tekniikoilla DRM-suojattua suoratoistoa.[CR][CR]Ohjeita löydät osoitteesta https://github.com/xbmc/inputstream.adaptive.
+ Client InputStream pour les flux adaptatifs. Les protocoles de streaming courants tels que MPEG-DASH, HLS et Microsoft Smooth Streaming sont pris en charge.[CR][CR]Le module complémentaire prend également en charge les flux protégés par DRM, tels que Google Widevine, Microsoft PlayReady et autres.[CR][CR] Pour la documentation, visitez : https://github.com/xbmc/inputstream.adaptive
לקוח InputStream לתזרימים מסתגלים
- InputStream klijent za adaptivne tokove
+ InputStream klijent za prilagodljiva strujanja
InputStream kliens az adaptív streamekhez
- 가변 스트림을 위한 InputStream 클라이언트
- Klient InputStream dla strumieni adaptacyjnych
- InputStream клиент для адаптивных трансляций
+ Client InputStream per flussi adattivi. Sono supportati protocolli di streaming comuni come MPEG-DASH, HLS e Microsoft Smooth Streaming.[CR][CR]L'add-on supporta anche flussi protetti da DRM, come Google Widevine, Microsoft PlayReady e altri.[CR][CR] ]Per la documentazione visita: https://github.com/xbmc/inputstream.adaptive
+ 적응형 스트림을 위한 InputStream 클라이언트입니다. MPEG-DASH, HLS 및 Microsoft Smooth Streaming과 같은 일반적인 스트리밍 프로토콜이 지원됩니다.[CR][CR]추가 기능은 Google Widevine, Microsoft PlayReady 등과 같은 DRM 보호 스트림도 지원합니다.[CR][CR ]문서를 보려면 https://github.com/xbmc/inputstream.adaptive를 방문하세요
+ InputStream klients adaptīvām straumēm
+ Klient InputStream dla strumieni adaptacyjnych. Obsługiwane są popularne protokoły przesyłania strumieniowego, takie jak MPEG-DASH, HLS i Microsoft Smooth Streaming.[CR][CR]Dodatek obsługuje również strumienie chronione DRM, takie jak Google Widevine, Microsoft PlayReady i inne.[CR][CR] ]Dokumentacja znajduje się na stronie: https://github.com/xbmc/inputstream.adaptive
+ Cliente InputStream para transmissões adaptáveis. Há suporte para protocolos de streaming comuns, como MPEG-DASH, HLS e Microsoft Smooth Streaming.[CR][CR]O addon também oferece suporte a transmissões protegidas por DRM, como Google Widevine, Microsoft PlayReady e outros.[CR][CR]Para obter a documentação, visite: https://github.com/xbmc/inputstream.adaptive
+ Клиент InputStream для адаптивных потоков. Поддерживаются такие распространенные потоковые протоколы, как MPEG-DASH, HLS и Microsoft Smooth Streaming.[CR][CR]Дополнение также поддерживает потоки, защищенные DRM, такие как Google Widevine, Microsoft PlayReady и другие.[CR][CR]Для получения документации посетите: https://github.com/xbmc/inputstream.adaptive
+ 用于自适应流的 InputStream 客户端
diff --git a/inputstream.adaptive/changelog.txt b/inputstream.adaptive/changelog.txt
index 94bb7f31e..152b1ac78 100644
--- a/inputstream.adaptive/changelog.txt
+++ b/inputstream.adaptive/changelog.txt
@@ -1,3 +1,85 @@
+v21.5.17 (2025-11-13)
+- Fix no picture on MP4 videos with mixed encrypted/unencrypted contents
+
+v21.5.16 (2025-09-29)
+- Fix no picture on MP4 videos with mixed encrypted/unencrypted contents
+
+v21.5.15 (2025-07-06)
+- Fix playback with IP with port number
+
+v21.5.14 (2025-05-15)
+- Fix playback problem due to URLs containing dots on paths
+
+v21.5.13 (2025-05-04)
+- Fix crash with Widevine CDM 4.10.2891.0
+- [Widevine] Updated CDM interface
+
+v21.5.12 (2025-04-27)
+- [Dash] Fix SegmentTemplate TSB to prevent use extra live delay workarounds
+
+v21.5.11 (2025-04-15)
+- Fix live delay that was causing broken playback in some cases
+
+v21.5.10 (2025-04-06)
+- INFO: Widevine CDM 4.10.2891.0 cannot be used to play videos, if you installed it reinstall an old version
+- [ClearKey] Fix playback with streams that have mixed unencrypted/encrypted segments
+- [HLS] Fix timeshift on single period video stream
+- [HLS] Fix possible repeated frames on live stream with discontinuities
+- Fix playback with SMIL URL manifests
+
+v21.5.9 (2025-01-19)
+- Fix packaging errors
+
+v21.5.8 (2025-01-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_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
+
+v21.5.7 (2024-11-16)
+- Partial backport fix to extract kid from init data
+
+v21.5.6 (2024-11-05)
+- [HLS] Fix VOD playback problems with periods
+- [HLS] Fix possible crash on stream quality change
+
+v21.5.5 (2024-10-12)
+- Fix decoding with some out-of-spec mp4 DRM encrypted streams
+- Fix crash due to regex uses
+
+v21.5.4 (2024-08-28)
+- [Widevine] Improved synthesized PSSH for smooth streaming with Playready
+- [ClearKey] Fix bad license data encoding/decoding
+- Fix to prevent initialize decrypters already initialized
+- Fix a possible problem on KID extraction from mp4box
+- Fix a problem that can cause delay to perform live streams manifest updates, causing buffering problems
+
+v21.5.3 (2024-08-24)
+- INFO: Playback problems with PlayReady DRM are known, we are investigating for a solution
+- [ClearKey] Add support to set license server url from drm_legacy property
+- [ClearKey] Add support to set license server headers from drm_legacy property
+- [ClearKey] Improved compatibility to override manifests with other DRM's
+- [HLS] Fix non-stop playback problem when the decrypter is not initialised for some problem
+- Fix a license data regression with smooth streaming
+- Fix a smooth streaming regression that caused decryption problems
+
+v21.5.2 (2024-08-10)
+[HLS] Fix playback stop problem with some AAC streams
+Fix builds with GCC-14
+
+v21.5.1 (2024-08-03)
+- [Dash] Fix playback stall/crash with manifest having default kid as non-UUID format
+- [Dash] Fix some live streams affected by playback stop regression
+- Reverted bento4 dependency improvements, that has broken Dolby Digital audio
+
+v21.5.0 (2024-07-30)
+- Implemented DRM ClearKey support (for Dash, HLS only)
+- New property inputstream.adaptive.drm_legacy easy way to configure DRM, see details on Wiki
+- New property inputstream.adaptive.config allow to configure curl SSL verify peer and cookies, see details on Wiki
+- [HLS] Fix crash / video freeze when switching stream quality with adaptive streaming
+- [DASH] Fix regression on live streaming video seek
+- [DASH] Fix lost attribute data with manifests that have adaptation set switching
+- Deprecated inputstream.adaptive.internal_cookies, moved to the new inputstream.adaptive.config
+- Updated bento4 dependency to upstream (C++20 compatibility)
+
v21.4.10 (2024-06-24)
- Fix problem on live streams where buffering block subtitles processing
- Limited subtitles PTS workaround to HLS attempt to make Dash work
diff --git a/inputstream.adaptive/resources/language/resource.language.af_za/strings.po b/inputstream.adaptive/resources/language/resource.language.af_za/strings.po
index 36139cb99..c2feb198c 100644
--- a/inputstream.adaptive/resources/language/resource.language.af_za/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.af_za/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Afrikaans (South Africa) \n"
"Language: af_za\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.am_et/strings.po b/inputstream.adaptive/resources/language/resource.language.am_et/strings.po
index 9e5c9b1fc..471e80a73 100644
--- a/inputstream.adaptive/resources/language/resource.language.am_et/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.am_et/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Amharic (Ethiopia) \n"
"Language: am_et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ar_sa/strings.po b/inputstream.adaptive/resources/language/resource.language.ar_sa/strings.po
index e7cb1b0d4..3853f48fc 100644
--- a/inputstream.adaptive/resources/language/resource.language.ar_sa/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ar_sa/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Arabic (Saudi Arabia) \n"
"Language: ar_sa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ast_es/strings.po b/inputstream.adaptive/resources/language/resource.language.ast_es/strings.po
index d62622745..88ebbba02 100644
--- a/inputstream.adaptive/resources/language/resource.language.ast_es/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ast_es/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Asturian (Spain) \n"
"Language: ast_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.az_az/strings.po b/inputstream.adaptive/resources/language/resource.language.az_az/strings.po
index 0389593e4..593169d13 100644
--- a/inputstream.adaptive/resources/language/resource.language.az_az/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.az_az/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Azerbaijani \n"
"Language: az_az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.be_by/strings.po b/inputstream.adaptive/resources/language/resource.language.be_by/strings.po
index f88c1ec36..91af8cb8f 100644
--- a/inputstream.adaptive/resources/language/resource.language.be_by/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.be_by/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Christian Gade \n"
+"Language-Team: Belarusian \n"
"Language: be_by\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Асноўныя"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr ""
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.bg_bg/strings.po b/inputstream.adaptive/resources/language/resource.language.bg_bg/strings.po
index a79392d82..407940a36 100644
--- a/inputstream.adaptive/resources/language/resource.language.bg_bg/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.bg_bg/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Bulgarian \n"
"Language: bg_bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.bs_ba/strings.po b/inputstream.adaptive/resources/language/resource.language.bs_ba/strings.po
index 0491cb5b9..b4c4c98e2 100644
--- a/inputstream.adaptive/resources/language/resource.language.bs_ba/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.bs_ba/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Bosnian (Bosnia and Herzegovina) \n"
"Language: bs_ba\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ca_es/strings.po b/inputstream.adaptive/resources/language/resource.language.ca_es/strings.po
index fe9af89c1..61370b692 100644
--- a/inputstream.adaptive/resources/language/resource.language.ca_es/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ca_es/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-19 23:19+0000\n"
-"Last-Translator: Xean \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Catalan (Spain) \n"
"Language: ca_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,110 +23,394 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr "Client InputStream per a transmissions adaptatives"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "General"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Ample de banda min. (Bits/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Ample de banda màx. (Bits/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Ruta de desxifrat"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Màx. resolució descodificador general"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Selecció de transmissió"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Màx. Resolució descodificador segur"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Substitueix l'estat HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Ignora la resolució de la pantalla"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Activeu les funcions de pre-release"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "No utilitzeu el descodificador segur si és possible"
-
-msgctxt "#30150"
-msgid "Max"
-msgstr "Màx"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Seleccionar transmissions automàticament"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Seleccionar manualment totes les transmissions"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Tot"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Àudio"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Vídeo"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Seleccionar manualment la transmissió de vídeo"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Vídeo + Subtítols"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Ample de banda min. (Bits/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Ample de banda màx. (Bits/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Ruta de desxifrat"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Màx. resolució descodificador general"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Selecció de transmissió"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Màx. Resolució descodificador segur"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Substitueix l'estat HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignora la resolució de la pantalla"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Activeu les funcions de pre-release"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "No utilitzeu el descodificador segur si és possible"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Màx"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Seleccionar transmissions automàticament"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Seleccionar manualment totes les transmissions"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Seleccionar manualment la transmissió de vídeo"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Vídeo + Subtítols"
diff --git a/inputstream.adaptive/resources/language/resource.language.cs_cz/strings.po b/inputstream.adaptive/resources/language/resource.language.cs_cz/strings.po
index 6e6f4125e..4a7d2b08e 100644
--- a/inputstream.adaptive/resources/language/resource.language.cs_cz/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.cs_cz/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Czech \n"
"Language: cs_cz\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "Klient adaptivních toků protokolu InputStream"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "Klient adaptivních toků protokolu InputStream"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Obecné"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
+msgstr "Expert"
+
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Všechno"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Zvuk"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Obraz"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
msgstr ""
-msgctxt "#30151"
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Min. šířka pásma (b/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Max. šířka pásma (b/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Cesta k dešifrovači"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Max. rozlišení obecného dekodéru"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Výběr proudu"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Média"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Max. rozlišení zabezpečeného dekodŕu"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Přepsat stav DHCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorovat rozlišení displeje"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Povolit nestabilní funkce"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Pokud možno nepoužívat zabezpečený dekodér"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Max"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automaticky vybrat proudy"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Ručně vybrat proudy"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Ručně vybrat proud obrazu"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Obraz + titulky"
diff --git a/inputstream.adaptive/resources/language/resource.language.cy_gb/strings.po b/inputstream.adaptive/resources/language/resource.language.cy_gb/strings.po
index a0e035aa4..5648076d0 100644
--- a/inputstream.adaptive/resources/language/resource.language.cy_gb/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.cy_gb/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Welsh (United Kingdom) \n"
"Language: cy_gb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=(n==0) ? 0 : (n==1) ? 1 : (n==2) ? 2 : (n==3) ? 3 :(n==6) ? 4 : 5;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.da_dk/strings.po b/inputstream.adaptive/resources/language/resource.language.da_dk/strings.po
index c2d9aba2c..ea2d33258 100644
--- a/inputstream.adaptive/resources/language/resource.language.da_dk/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.da_dk/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-20 08:26+0000\n"
-"Last-Translator: Christian Gade \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Danish \n"
"Language: da_dk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,110 +23,394 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr "InputStream-klient til adaptive streams"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Generel"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Minimum båndbredde (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Mindste båndbredde (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Maksimal båndbredde (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Maksimal båndbredde (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Dekrypter-sti"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Maksimal opløsning for generel dekoder"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Valg af stream"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Medie"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Maksimal opløsning for sikker dekoder"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Overskriv HDCP-status"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Ignorer skærmens opløsning"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Ekspert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Aktiver funktioner fra pre-release"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Brug ikke sikker dekoder, hvis det er muligt"
-
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maksimal"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Vælg automatisk streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Vælg alle streams manuelt"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Alle"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Lyd"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Vælg videostream manuelt"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video og undertekster"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Minimum båndbredde (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Maksimal båndbredde (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Dekrypter-sti"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Maksimal opløsning for generel afkoder"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Valg af stream"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Medie"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Maksimal opløsning for sikker afkoder"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Overskriv HDCP-status"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorer skærmens opløsning"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Aktiver funktioner fra pre-release"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Brug ikke sikker afkoder, hvis det er muligt"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maksimal"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Vælg automatisk streams"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Vælg alle streams manuelt"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Vælg videostream manuelt"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video og undertekster"
diff --git a/inputstream.adaptive/resources/language/resource.language.de_de/strings.po b/inputstream.adaptive/resources/language/resource.language.de_de/strings.po
index 5609e877a..5dfcc80ad 100644
--- a/inputstream.adaptive/resources/language/resource.language.de_de/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.de_de/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-07-18 08:48+0000\n"
-"Last-Translator: Kai Sommerfeld \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Kai Sommerfeld \n"
"Language-Team: German \n"
"Language: de_de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7.1\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -21,112 +21,396 @@ msgstr "InputStream-Client für adaptive Streams"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "InputStream-Client für adaptive Streams"
+msgstr "InputStream-Client für adaptive Streams. Unterstützt werden Streamingprotokolle wie MPEG-DASH, HLS und Microsoft Smooth Streaming.[CR][CR] Das Addon unterstützt ebenfalls DRM-geschützte Streams, wie Google Widevine, Microsoft Playready und andere.[CR][CR]Für Dokumentation https://github.com/xbmc/inputstream.adaptive besuchen"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Allgemein"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Min. Bandbreite (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Minimale Bandbreite (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Max. Bandbreite (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Maximale Bandbreite (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Decrypter-Pfad"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Hiermit wird eingestellt, dass das Bandbreitenlimit für Audio- und Videostreams nicht überschritten wird. Auf 0 setzen, um das Limit zu deaktivieren."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Max. Auflösung allgemeiner Decoder"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Stream-Auswahl"
+msgid "Maximum resolution"
+msgstr "Maximale Auflösung"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Medien"
+msgid "Type of media streams played"
+msgstr "Medienstreamtyp"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Max. Auflösung sicherer Decoder"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "HDCP-Status überschreiben"
+msgid "Maximum resolution for DRM videos"
+msgstr "Maximale Auflösung für DRM-Videos"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr "Bildschirmauflösung ignorieren"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Wenn aktiviert, wird die Bildschirmauflösung (oder Fenstergröße, wenn im Fenstermodus) beim Auswählen der besten Videostreamauflösung beim Starten und während der Wiedergabe nicht berücksichtigt."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Manueller Streamauswahlmodus"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Festlegen, welcher Streamtyp während der Wiedergabe für die manuelle Auswahl im Kodi Einstellungs-OSD zur Verfügung gestellt werden soll."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Experte"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Experimentelle Features aktivieren"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Wenn möglich, sicheren Decoder nicht verwenden"
+msgid "Try avoiding the use of secure decoder"
+msgstr "Versuchen, Verwendung des sicheren Decoders zu vermeiden"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Einige Android-L1-Geräte funktionieren nicht korrekt, was in einem schwarzen Bildschirm während der Wiedergabe resultieren kann. In diesem Fall kann Aktivieren dieser Einstellung helfen."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Audio-/Videostreams"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Alle"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Video"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Videostreams"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Video/Untertitel"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Adaptiver Stream"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "WARNUNG: Das ist ein TEST-Feature, das eventuell nicht korrekt funktioniert and das sich in zukünftigen Versionen ändern kann."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Initiale Bandbreite automatisch ermitteln"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Wenn aktiviert, wird die Bandbreite beim ersten Download ermittelt. Das funktiniert aber nicht immer korrekt. Wenn die Videoqualität beim Start der Wiedergabe zu niedrig ist, kann Deaktivieren dieser Einstellung helfen."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Initiale Bandbreite (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Legt die initiale Bandbreite fest, falls diese nicht automatisch ermittelt werden kann. Dieser Wert kann überschrieben werden mit der Einstellung für die minimale Bandbreite."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "HDCP-Status ignorieren"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Einige DRM-geschützte HD-/UHD-Videos können nur wiedergegeben werden, wenn der HDCP-Status ignoriert wird."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Streamauswahltyp"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Festlegen, wie Audio-/Videostreamqualität während der Wiedergabe ausgewählt werden. Diese Einstellung kann überschrieben werden vom verwendeten Video-Addon. Im Wiki sind dazu mehr Informationen zu finden."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adaptiv (Standard)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Manuell OSD"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Feste Auflösung"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Qualität erfragen"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Test"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Zugesicherte Pufferlänge (Sekunden)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Maximale Pufferlänge (Sekunden)"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Max"
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Bildschirmauflösungsänderung ignorieren"
-msgctxt "#30151"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Wenn aktiviert, wird die Bildschirmauflösung (oder Fenstergröße, wenn im Fenstermodus) beim Auswählen der besten Videostreamauflösung während der Wiedergabe nicht berücksichtigt."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Decrypter-Pfad"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Auto"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Streams automatisch auswählen"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Alle Streams manuell auswählen"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Alle"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Videostream auswählen"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Videostream {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Testmodus"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Umschalten anhand Segmenten"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmente"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Einstellungen überschreiben"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Debugprotokollierung"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Stream-Manifeste speichern"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Speichert die während der Wiedergabe heruntergeladenen Stream-Manifeste im Benutzerdatenordner von Inputstream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Lizenzdaten speichern"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Speichert Lizendaten, zum Beispiel initiale Daten, Challenge- und Responsedaten, im „cdm“-Ordner des Kodi-Datenordners."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Min. Bandbreite (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Max. Bandbreite (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Decrypter-Pfad"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Max. Auflösung allgemeiner Decoder"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Streamauswahl"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Medien"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Max. Auflösung sicherer Decoder"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "HDCP-Status überschreiben"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Bildschirmauflösung ignorieren"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Experimentelle Features aktivieren"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Wenn möglich, sicheren Decoder nicht verwenden"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Max"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Streams automatisch auswählen"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Alle Streams manuell auswählen"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Videostream manuell auswählen"
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Videostream manuell auswählen"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video und Untertitel"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video und Untertitel"
diff --git a/inputstream.adaptive/resources/language/resource.language.el_gr/strings.po b/inputstream.adaptive/resources/language/resource.language.el_gr/strings.po
index d93a013cc..0bdb3960a 100644
--- a/inputstream.adaptive/resources/language/resource.language.el_gr/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.el_gr/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Greek (Greece)\n"
-"Language: en\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Greek \n"
+"Language: el_gr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,377 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Γενικά"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Το ελάχιστο εύρος το οποίο δεν πρέπει να ξεπεραστεί"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "To μέγιστο εύρος το οποίο δεν πρέπει να ξεπεραστεί. 0=απεριόριστο"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Απόλυτη διάδρομή φακέλου που περιέχει τους αποκρυπτογραφητές"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Μέγιστη ανάλυση"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Επιλογή ροής"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Πολυμέσα"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Μέγιστη επιτρεπτή ανάλυση όταν αποκωδικοποιηθεί μέσω ασφαλούς διαδρομής"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Επιλογή ροών χωρίς σεβασμό της κατάστασης του HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Να μην ληφθεί υπ'οψην η ανάλυση οθόνης κατά την επιλογή ροών"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Ειδικός"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Ενεργοποίηση χαρακτηριστικών προ-εκδόσεων"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Μέγιστο"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Όλα"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Ήχος"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Βίντεο"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Βίντεο + Υπότιτλοι"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Το ελάχιστο εύρος το οποίο δεν πρέπει να ξεπεραστεί"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "To μέγιστο εύρος το οποίο δεν πρέπει να ξεπεραστεί. 0=απεριόριστο"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Απόλυτη διάδρομή φακέλου που περιέχει τους αποκρυπτογραφητές"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Μέγιστη ανάλυση"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Επιλογή ροής"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Πολυμέσα"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Μέγιστη επιτρεπτή ανάλυση όταν αποκωδικοποιηθεί μέσω ασφαλούς διαδρομής"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Επιλογή ροών χωρίς σεβασμό της κατάστασης του HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Να μην ληφθεί υπ'οψην η ανάλυση οθόνης κατά την επιλογή ροών"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Ενεργοποίηση χαρακτηριστικών προ-εκδόσεων"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Μέγιστο"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Βίντεο + Υπότιτλοι"
diff --git a/inputstream.adaptive/resources/language/resource.language.en_au/strings.po b/inputstream.adaptive/resources/language/resource.language.en_au/strings.po
index 63783a42b..4ea0367ef 100644
--- a/inputstream.adaptive/resources/language/resource.language.en_au/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.en_au/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: English (Australia) \n"
"Language: en_au\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.en_nz/strings.po b/inputstream.adaptive/resources/language/resource.language.en_nz/strings.po
index 6d13966f3..96292c923 100644
--- a/inputstream.adaptive/resources/language/resource.language.en_nz/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.en_nz/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: English (New Zealand) \n"
"Language: en_nz\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.en_us/strings.po b/inputstream.adaptive/resources/language/resource.language.en_us/strings.po
index 1864b7bbc..e2c438f4f 100644
--- a/inputstream.adaptive/resources/language/resource.language.en_us/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.en_us/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: English (United States) \n"
"Language: en_us\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.eo/strings.po b/inputstream.adaptive/resources/language/resource.language.eo/strings.po
index 44cf0fa01..2f8bbe503 100644
--- a/inputstream.adaptive/resources/language/resource.language.eo/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.eo/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Esperanto \n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.es_ar/strings.po b/inputstream.adaptive/resources/language/resource.language.es_ar/strings.po
index 19eab5cdd..0fa9c0d6d 100644
--- a/inputstream.adaptive/resources/language/resource.language.es_ar/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.es_ar/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Spanish (Argentina) \n"
"Language: es_ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.es_es/strings.po b/inputstream.adaptive/resources/language/resource.language.es_es/strings.po
index f1e067f36..c1b6e3715 100644
--- a/inputstream.adaptive/resources/language/resource.language.es_es/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.es_es/strings.po
@@ -4,126 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Last-Translator: roliverosc\n"
-"Language-Team: Spanish\n"
-"Language: es\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Spanish (Spain) \n"
+"Language: es_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr "Cliente InputStream para flujo de datos adaptativos"
+msgstr "Cliente InputStream para transmisiones adaptativas"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "Cliente InputStream para flujo de datos adaptativos"
+msgstr "Cliente InputStream para transmisiones de datos adaptativos. Se admiten protocolos de transmisión comunes como MPEG-DASH, HLS y Microsoft Smooth Streaming.[CR][CR]El complemento también es compatible con transmisiones protegidas por DRM, como Google Widevine, Microsoft PlayReady y otros.[CR][CR]Para consultar la documentación, visite: https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "General"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Mín. Ancho de banda (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Ancho de banda mínimo (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Máx. Ancho de banda (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Ancho de banda máximo (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Ruta descodificador"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Establece el límite de ancho de banda que no se debe superar con las flujos de audio / vídeo. Establecer a 0 para desactivar."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Máx. Resolución decodificador general"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Selección de flujo de datos"
+msgid "Maximum resolution"
+msgstr "Resolución máxima"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Medio"
+msgid "Type of media streams played"
+msgstr "Tipo de transmisiones multimedia reproducidas"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Máx. Resolución descodificación segura"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Anular estado HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr "Resolución máxima para vídeos DRM"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr "Ignorar resolución de pantalla"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Si está activado, la resolución de la pantalla (o tamaño de ventana cuando está en modo ventana) ya no se considerará al seleccionar la mejor resolución de transmisión de vídeo cuando se inicie el vídeo y durante la reproducción."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Modo de selección manual de transmisión"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Define qué tipo de transmisiones estarán disponibles para la selección manual en los ajustes OSD de Kodi durante la reproducción."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Experto"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Habilitar funciones Pre-releases"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Try avoiding the use of secure decoder"
+msgstr "Intentar evitar el uso de decodificador seguro"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Es posible que algunos dispositivos Android definidos como Widevine L1 no funcionen correctamente, lo que puede provocar una pantalla negra durante la reproducción. En este caso intente activarlo."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Transmisiones de audio y vídeo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Todo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Vídeo"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Transmisiones de vídeo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Vídeo / Subtítulos"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Transmisión adaptativa"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "ADVERTENCIA: Esta es una función en PRUEBAS, es posible que no funcione correctamente y que pueda cambiar en versiones futuras."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Determinar automáticamente ancho de banda inicial"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Si está activado, el ancho de banda lo determinará la primera descarga; sin embargo, es posible que no sea exacto. Si la calidad del vídeo al inicio de la reproducción es demasiado baja, intente desactivarlo."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Ancho de banda inicial (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Define el ancho de banda inicial cuando no se puede determinar automáticamente. Este valor puede ser anulado por la configuración de ancho de banda mínimo."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Ignorar estado de HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Es posible que algunos vídeos HD/UHD protegidos por DRM solo se reproduzcan si se ignora el estado HDCP."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Tipo de selección de transmisión"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Establezca cómo se elegirá la calidad de las transmisiones de audio y vídeo durante la reproducción. Esta configuración puede ser anulada por el complemento de vídeo utilizado. Consulte la Wiki para obtener más información."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adaptativo (por defecto)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "OSD manual"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Resolución fija"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Solicitar calidad"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Prueba"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Duración del búfer garantizado (seg)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Duración máxima del búfer (seg)"
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Ignorar cambio de resolución de pantalla"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Máximo"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Si está activado, la resolución de la pantalla (o el tamaño de la ventana cuando está en modo ventana) ya no se considerará al seleccionar la mejor resolución de transmisión de vídeo durante la reproducción."
-msgctxt "#30151"
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Ruta descifrador"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Auto"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Todo"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Seleccionar transmisión de vídeo"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Vídeo"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Transmisión de vídeo {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Modo de prueba"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Cambiar por segmentos"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmentos"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Anular ajustes"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Registro de depuración"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Guardar manifiestos de transmisión"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Guarda los manifiestos de transmisión descargados durante la reproducción en la carpeta de datos del usuario de InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Guardar datos de licencia"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Guarda los datos de la licencia, por ejemplo: datos iniciales, datos de desafío y datos de respuesta, en la carpeta \"cdm\" de la carpeta de datos de Kodi."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Mín. Ancho de banda (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Máx. Ancho de banda (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Ruta descodificador"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Máx. Resolución decodificador general"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Selección de flujo de datos"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Medio"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Máx. Resolución descodificación segura"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Anular estado HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorar resolución de pantalla"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Habilitar funciones Pre-releases"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "No usar decodificador seguro si es posible"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Máximo"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Elegir automáticamente los flujos"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Elegir manualmente todos los flujos"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Elegir manualmente el flujo de video"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Vídeo + Subtítulos"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Vídeo + Subtítulos"
diff --git a/inputstream.adaptive/resources/language/resource.language.es_mx/strings.po b/inputstream.adaptive/resources/language/resource.language.es_mx/strings.po
index ddf5eaa96..b1625b464 100644
--- a/inputstream.adaptive/resources/language/resource.language.es_mx/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.es_mx/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Spanish (Mexico) \n"
"Language: es_mx\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "Cliente InputStream para transmisiones adaptativas"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "Cliente InputStream para transmisiones adaptativas"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "General"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
+msgstr "Experto"
+
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Todo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Video"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
msgstr ""
-msgctxt "#30151"
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Ancho de banda mínimo (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Ancho de banda máximo (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Ruta absoluta a los decodificadores"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Resolución máxima del decodificador"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Selección de flujo de datos"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Medios"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Resolución máxima del decodificador seguro"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Ignorar estado HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorar la resolución de pantalla"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Activar características experimentales"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "No utilizar el decodificador seguro si es posible"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Máx"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Seleccionar flujo de datos automáticamente"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Seleccionar todos los flujos manualmente"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Seleccionar flujo de video manualmente"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Subtítulos"
diff --git a/inputstream.adaptive/resources/language/resource.language.et_ee/strings.po b/inputstream.adaptive/resources/language/resource.language.et_ee/strings.po
index 4c7062e3b..3486b14d8 100644
--- a/inputstream.adaptive/resources/language/resource.language.et_ee/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.et_ee/strings.po
@@ -4,125 +4,325 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: rimasx \n"
+"Language-Team: Estonian \n"
"Language: et_ee\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "InputStream klient kohanduvate voogude jaoks"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "InputStream klient adaptiivsete voogude jaoks. Toetatakse levinud voogedastusprotokolle, nagu MPEG-DASH, HLS ja Microsoft Smooth Streaming.[CR][CR]Lisamoodul toetab ka DRM-iga kaitstud vooge, nagu Google Widevine, Microsoft PlayReady ja teised.[CR][CR][CR] ]Dokumentatsiooni saamiseks külasta aadressi https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Üldseaded"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Minimaalne ribalaius (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Maksimaalne ribalaius (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr ""
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Kehtestab ribalaiuse piirangu, mida heli-/videovoogudega ei tohi ületada. Selle keelamiseks sea väärtuseks 0."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
+msgid "Maximum resolution"
+msgstr "Maksimaalne eraldusvõime"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr ""
+msgid "Type of media streams played"
+msgstr "Esitatud meediavoogude tüüp"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
+msgid "Maximum resolution for DRM videos"
+msgstr "Maksimaalne eraldusvõime DRM-videote jaoks"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr ""
-
-msgctxt "#30120"
-msgid "Expert"
-msgstr ""
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr ""
-
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Ignore screen resolution"
+msgstr "Ignoreeri ekraani eraldusvõimet"
-msgctxt "#30150"
-msgid "Max"
-msgstr ""
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Kui lubatud, ei võeta video käivitamisel ja taasesituse ajal enam arvesse ekraani eraldusvõimet (või akna suurust aknarežiimis) parima videovoo eraldusvõime valimisel."
-msgctxt "#30151"
-msgid "480p"
-msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Voo käsitsi valimise režiim"
-msgctxt "#30152"
-msgid "640p"
-msgstr ""
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Määrab, millist tüüpi voogusid teha Kodi OSD seadetes käsitsi valitavaks taasesituse ajal."
-msgctxt "#30153"
-msgid "720p"
-msgstr ""
+#. Category title
+msgctxt "#30120"
+msgid "Expert"
+msgstr "Ekspert"
-msgctxt "#30154"
-msgid "1080p"
-msgstr ""
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
+msgstr "Püüa vältida turvalise dekoodri kasutamist"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Mõned Widevine L1 määratlusega Android seadmed ei pruugi korralikult töötada, mis võib taasesituse ajal põhjustada musta ekraani. Sel juhul proovi see lubada."
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
+msgid "Audio / Video streams"
+msgstr "Heli-/videovood"
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
-msgstr ""
+msgstr "Kõik"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
-msgstr ""
+msgstr "Heli"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
-msgstr ""
+msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
+msgid "Video streams"
+msgstr "Videovood"
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
+msgid "Video / Subtitles"
+msgstr "Video / Subtiitrid"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Kohanduv voog"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "HOIATUS: See on KATSELINE funktsioon, mis ei pruugi korralikult töötada ja võib tulevastes versioonides muutuda."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Automaatne määrab esialgse ribalaiuse"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Kui lubatud, määratakse ribalaius esimesel allalaadimisel, kuid see ei pruugi olla täpne. Kui video kvaliteet on taasesituse alguses liiga madal, proovi see valik keelata."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Esialgne ribalaius (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Määrab esialgse ribalaiuse, kui seda ei saa automaatselt määrata. Selle väärtuse saab alistada minimaalse ribalaiuse sättega."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Eira HDCP olekut"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Mõnda DRM kaitsega HD/UHD videot saab esitada ainult siis, kui HDCP olekut eiratakse."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Voo valiku tüüp"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Määra, kuidas taasesituse ajal valitakse heli-/videovoo kvaliteet. Kasutatav video lisamoodul võib selle sätte tühistada. Lisateavet leiab Wikist."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Kohanduv (vaikimisi)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Käsitsi ekraanil"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Fikseeritud eraldusvõime"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Küsi kvaliteeti"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Proovi"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Tagatud puhvri kestus (s)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Puhvri maksimaalne kestus (s)"
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Eira ekraanilahutuse muutust"
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Kui lubatud, ei võeta taasesituse ajal parima videovoo eraldusvõime valimisel enam arvesse ekraani eraldusvõimet (või akna suurust aknarežiimis)."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Dekrüptija asukoht"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Automaatne"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr "480p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr "640p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr "720p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr "1080p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Vali videovoog"
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Videovoog {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Katserežiim"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Lülitu segmentide kaupa"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmendid"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Alista seaded"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Silumise logimine"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Salvesta voomanifestid"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Salvestab taasesituse ajal allalaaditud voomanifestid rakenduse InputStream Adaptive kasutajaandmete kausta."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Salvesta litsentsiandmed"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Salvestab litsentsiandmed näiteks: algandmed, väljakutse ja vastuse andmed Kodi kausta data/cdm."
diff --git a/inputstream.adaptive/resources/language/resource.language.eu_es/strings.po b/inputstream.adaptive/resources/language/resource.language.eu_es/strings.po
index feebdbd3a..7df045b0a 100644
--- a/inputstream.adaptive/resources/language/resource.language.eu_es/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.eu_es/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Basque (Spain) \n"
"Language: eu_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.fa_af/strings.po b/inputstream.adaptive/resources/language/resource.language.fa_af/strings.po
index 7a3d3170e..9e18aca90 100644
--- a/inputstream.adaptive/resources/language/resource.language.fa_af/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fa_af/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Persian (Afghanistan) \n"
"Language: fa_af\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.fa_ir/strings.po b/inputstream.adaptive/resources/language/resource.language.fa_ir/strings.po
index 23700d946..e5c288ffc 100644
--- a/inputstream.adaptive/resources/language/resource.language.fa_ir/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fa_ir/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Persian (Iran) \n"
"Language: fa_ir\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.fi_fi/strings.po b/inputstream.adaptive/resources/language/resource.language.fi_fi/strings.po
index f49baac60..2be36bc05 100644
--- a/inputstream.adaptive/resources/language/resource.language.fi_fi/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fi_fi/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Oskari Lavinto \n"
+"Language-Team: Finnish \n"
"Language: fi_fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "InputStream-asiakas mukautuville mediavirroille"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "InputStream-asiakas mukautuville mediavirroille, joka tukee yleisiä suoratoistoprotokollia, kuten MPEG-DASH, HLS ja Microsoft Smooth Streaming.[CR][CR]Tukee myös mm. Google Widevine ja Microsoft PlayReady -tekniikoilla DRM-suojattua suoratoistoa.[CR][CR]Ohjeita löydät osoitteesta https://github.com/xbmc/inputstream.adaptive."
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Yleiset"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Vähimmäiskaistanleveys (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Enimmäiskaistanleveys (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr ""
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Asettaa kaistanleveysrajoituksen, jota ääni-/videovirrat eivät saa ylittää. Poista käytöstä asettamalla arvoksi 0."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
+msgid "Maximum resolution"
+msgstr "Enimmäisresoluutio"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr ""
+msgid "Type of media streams played"
+msgstr "Toistettavien mediavirtojen tyyppi"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
+msgid "Maximum resolution for DRM videos"
+msgstr "DRM-videoiden enimmäistarkkuus"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr ""
+msgid "Ignore screen resolution"
+msgstr "Älä huomioi näytön resoluutiota"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Tämän ollessa käytössä näytön resoluutiota (tai ikkunan kokoa ikkunatilassa) ei enää huomioida valittaessa videovirralle sopivinta resoluutiota videotoiston alkaessa ja toiston aikana."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Manuaalinen mediavirran valintatila"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Määrittää Kodin kuvaruutuvalikosta manuaalisesti valittavissa olevat mediavirtatyypit."
+#. Category title
msgctxt "#30120"
msgid "Expert"
-msgstr ""
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr ""
+msgstr "Asiantuntija"
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Try avoiding the use of secure decoder"
+msgstr "Pyri välttämään suojatun dekooderin käyttöä"
-msgctxt "#30150"
-msgid "Max"
-msgstr ""
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Jotkin Widevine L1 -luokitellut Android-laitteet eivät välttämättä toimi oikein ja näyttö voi pimentyä toiston aikana. Tämä asetus voi auttaa."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Ääni-/videovirrat"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Kaikki"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Ääni"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Video"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Videovirrat"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Video/tekstitykset"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Mukautuva mediavirta"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "VAROITUS: Tämä on KOKEELLINEN ominaisuus, joka ei välttämättä toimi oikein ja voi muuttua tulevissa versioissa."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Automaattinen määrittää aloituskaistanleveyden"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Tämän ollessa käytössä kaistanleveys määritetään ensimmäisen latauksen perusteella, mutta tulos ei välttämättä ole tarkka. Jos videon laatu on toiston alussa liian heikko, kokeile asetuksen käytöstä poistoa."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Aloituskaistanleveys"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Määrittää aloituskaistanleveyden kun sen automaattinen tunnistus ei onnistu. \"Vähimmäiskaistanleveys\"-asetus voi ohittaa tämän arvon."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Älä huomioi HDCP-tilaa"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Jotkin DRM-suojatut HD-/UHD-videot voidaan toistaa vain, jos HDCP-tilaa ei huomoida."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Mediavirran valinnan tyyppi"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Määrittää miten ääni-/videovirran laatu valitaan toiston aikana. Käytössä oleva videolisäosa voi ohittaa asetuksen. Lue lisää Wikistä."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Mukautuvasti (oletus)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Manuaalisesti kuvaruutuvalikosta"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Kiinteä resoluutio"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Kysy laatua"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Kokeile"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Puskurin varmennettu kesto (s)"
-msgctxt "#30151"
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Puskurin enimmäiskesto (s)"
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Älä huomioi näytön resoluutiomuutosta"
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Tämän ollessa käytössä näytön resoluutiota (tai ikkunan kokoa ikkunatilassa) ei enää huomioida valittaessa parasta videovirran resoluutiota toiston aikana."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Salauksen purkaimen sijainti"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Automaattinen"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
-msgstr ""
+msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
-msgstr ""
+msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
-msgstr ""
+msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
-msgstr ""
+msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr ""
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Valitse videovirta"
-msgctxt "#30159"
-msgid "Video"
-msgstr ""
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Videovirta {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Testitila"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Vaihda segmenttien perusteella"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmentit"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Älä huomioi asetuksia"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Vianselvitysloki"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Tallenna mediavirtojen manifest-tiedostot"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Tallentaa toiston aikana ladatut mediavirtojen manifest-tiedostot InputStream Adaptiven \"userdata\"-kansioon."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Tallenna lisenssitiedot"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Tallentaa lisenssitiedot kuten aloitus-, haaste- ja vastaustiedot Kodin tietokansion \"cdm\"-kansioon."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Vähimmäiskaistanleveys (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Enimmäiskaistanleveys (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Salauksen purkaimen sijainti"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Yleisen dekoodauksen enimmäistresoluutio"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Mediavirran valinta"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Suojatun dekoodauksen enimmäistresoluutio"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Ohita HDCP-tila"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Älä huomioi näytön resoluutiota"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Käytä testiominaisuuksia"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Älä käytä suojattua dekoodausta, jos mahdollista"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Enimmäis"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Valitse mediavirrat automaattisesti"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Valitse kaikki mediavirrat manuaalisesti"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Valitse videovirta manuaalisesti"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Tekstitykset"
diff --git a/inputstream.adaptive/resources/language/resource.language.fo_fo/strings.po b/inputstream.adaptive/resources/language/resource.language.fo_fo/strings.po
index f0e015f04..23d2dea7c 100644
--- a/inputstream.adaptive/resources/language/resource.language.fo_fo/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fo_fo/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Faroese \n"
"Language: fo_fo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.fr_ca/strings.po b/inputstream.adaptive/resources/language/resource.language.fr_ca/strings.po
index 4af9c15e9..7635b2d65 100644
--- a/inputstream.adaptive/resources/language/resource.language.fr_ca/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fr_ca/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: French (Canada) \n"
"Language: fr_ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.fr_fr/strings.po b/inputstream.adaptive/resources/language/resource.language.fr_fr/strings.po
index 72ac0ddec..8e69b1116 100644
--- a/inputstream.adaptive/resources/language/resource.language.fr_fr/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.fr_fr/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Français\n"
-"Language: fr\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: skypichat \n"
+"Language-Team: French (France) \n"
+"Language: fr_fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "Client InputStream pour les flux adaptatifs"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "Client InputStream pour les flux adaptatifs. Les protocoles de streaming courants tels que MPEG-DASH, HLS et Microsoft Smooth Streaming sont pris en charge.[CR][CR]Le module complémentaire prend également en charge les flux protégés par DRM, tels que Google Widevine, Microsoft PlayReady et autres.[CR][CR] Pour la documentation, visitez : https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Général"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "La bande passante minimale qui ne devrait pas être réduite."
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Bande passante minimale (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "La bande passante maximale qui ne devrait pas être dépassée. 0=illimitée"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Bande passante maximale (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Chemin absolu du répertoire contenant le décodeur"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Établit la limite de bande passante à ne pas dépasser avec les flux audio/vidéo. Mettre à 0 pour le désactiver."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Résolution maximale du décodeur"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Sélection du flux"
+msgid "Maximum resolution"
+msgstr "Résolution maximale"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Média"
+msgid "Type of media streams played"
+msgstr "Type de flux multimédias lus"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Résolution maximale autorisée si le décodage est réalisé par une voie sécurisée"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Sélection du flux sans tenir compte du status HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr "Résolution maximale pour les vidéos DRM"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Ne pas tenir compte de la résolution d'écran lors de la sélection du flux"
+msgid "Ignore screen resolution"
+msgstr "Ignorer la résolution de l'écran"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Si activée, la résolution de l'écran (ou la taille de la fenêtre en mode fenêtré) ne sera plus prise en compte lors de la sélection de la meilleure résolution de flux vidéo au démarrage de la vidéo et pendant la lecture."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Mode de sélection manuelle du flux"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Définit le type de flux à rendre disponible pour la sélection manuelle sur les paramètres Kodi OSD pendant la lecture."
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Activer les fonctions exprérimentales"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Try avoiding the use of secure decoder"
+msgstr "Essayer d'éviter l'utilisation d'un décodeur sécurisé"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Certains appareils Android définis comme Widevine L1 peuvent ne pas fonctionner correctement, ce qui peut entraîner un écran noir pendant la lecture. Dans ce cas essayez de l'activer."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Flux audio / vidéo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Tous"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Vidéo"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Flux vidéo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Vidéo / Sous-titres"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Flux adaptatif"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "AVERTISSEMENT : Il s'agit d'une fonctionnalité de TEST, qui peut ne pas fonctionner correctement et peut changer dans les futures versions."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Auto détermine la bande passante initiale"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Si activée, la bande passante sera déterminée par le premier téléchargement, mais elle peut ne pas être précise. Si la qualité vidéo au début de la lecture est trop faible, essayez de la désactiver."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Bande passante initiale (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Définit la bande passante initiale lorsqu'elle ne peut pas être déterminée automatiquement. Cette valeur peut être remplacée par le paramètre de bande passante minimale."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Ignorer l'état HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Certaines vidéos HD/UHD protégées par DRM ne peuvent être lues que si l'état HDCP est ignoré."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Type de sélection de flux"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Définir comment la qualité des flux audio/vidéo sera choisie pendant la lecture. Ce paramètre peut être remplacé par le module complémentaire vidéo utilisé. Voir le Wiki pour plus d'informations."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adaptatif (par défaut)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "OSD manuel"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Résolution fixe"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Demander la qualité"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Test"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Durée du tampon assurée (sec)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Durée maximale de la mémoire tampon (sec)"
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Ignorer le changement de résolution de l'écran"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maximum"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Si activée, la résolution de l'écran (ou la taille de la fenêtre en mode fenêtré) ne sera plus prise en compte lors de la sélection de la meilleure résolution de flux vidéo pendant la lecture."
-msgctxt "#30151"
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Chemin du décrypteur"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Auto"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Tous"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Sélectionner le flux vidéo"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Vidéo"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Flux vidéo {codec} {qualité}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Mode essai"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Basculer par segments"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segments"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Remplacer les paramètres"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Journalisation du débogage"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Enregistrer les manifestes de flux"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Enregistre les manifestes de flux téléchargés pendant la lecture dans le dossier de données utilisateur d'InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Enregistrer les données de licence"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Enregistre les données de licence par exemple : données initiales, données de défi et données de réponse, dans le dossier \"cdm\" du dossier de données Kodi."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Bande passante min (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Bande passante max (Bit/s) 0=illimitée"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Répertoire du décodeur"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Résolution maximale du décodeur"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Sélection du flux"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Média"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Résolution maximale décodage sécurisé"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Outrepasser statut HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorer la résolution d'écran"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Activer les fonctions expérimentales"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Pas de décodeur sécurisé si possible"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maximum"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Sélection automatique des flux"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Sélectionner manuellement tous les flux"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Sélectionner manuellement le flux vidéo"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Vidéo + Sous-titres"
diff --git a/inputstream.adaptive/resources/language/resource.language.gl_es/strings.po b/inputstream.adaptive/resources/language/resource.language.gl_es/strings.po
index cc1b0ec55..26ef473f4 100644
--- a/inputstream.adaptive/resources/language/resource.language.gl_es/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.gl_es/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Galician (Spain) \n"
"Language: gl_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.he_il/strings.po b/inputstream.adaptive/resources/language/resource.language.he_il/strings.po
index 2f01831be..d22a9ff90 100644
--- a/inputstream.adaptive/resources/language/resource.language.he_il/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.he_il/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-16 15:29+0000\n"
-"Last-Translator: Yaron Shahrabani \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Hebrew (Israel) \n"
"Language: he_il\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,110 +23,394 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr "לקוח InputStream לתזרימים מסתגלים"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "כללי"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "רוחב פס מינימלי (ביטים לשנייה)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "רוחב פס מקסימלי (ביטים לשנייה)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "נתיב המפענח"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "רזולוציית מקסימום למפענח הכללי"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "בחירת זרם"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "מדיה"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "רזולוציית מקסימום למפענח המאובטח"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "עקיפת מצב HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "התעלם מרזולוציית התצוגה"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "מומחה"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "הפעלת תכונות שטרם שוחררו"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "לא להשתמש במפענח מאובטח אם ניתן"
-
-msgctxt "#30150"
-msgid "Max"
-msgstr "מקסימום"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "בחירת זרם אוטומטית"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "בחירת כל הזרמים ידנית"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "הכל"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "שמע"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "וידאו"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "בחירת זרם הוידאו ידנית"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "וידאו + כתוביות"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "רוחב פס מינימלי (ביטים לשנייה)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "רוחב פס מקסימלי (ביטים לשנייה)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "נתיב המפענח"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "רזולוציית מקסימום למפענח הכללי"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "בחירת זרם"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "מדיה"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "רזולוציית מקסימום למפענח המאובטח"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "עקיפת מצב HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "התעלם מרזולוציית התצוגה"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "הפעלת תכונות שטרם שוחררו"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "לא להשתמש במפענח מאובטח אם ניתן"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "מקסימום"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "בחירת זרם אוטומטית"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "בחירת כל הזרמים ידנית"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "בחירת זרם הוידאו ידנית"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "וידאו + כתוביות"
diff --git a/inputstream.adaptive/resources/language/resource.language.hi_in/strings.po b/inputstream.adaptive/resources/language/resource.language.hi_in/strings.po
index 16daa26b7..d4bd71578 100644
--- a/inputstream.adaptive/resources/language/resource.language.hi_in/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.hi_in/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-07-17 10:36+0000\n"
-"Last-Translator: Christian Gade \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Hindi (India) \n"
"Language: hi_in\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.7.1\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,110 +23,373 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "सामान्य"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "न्यूनतम बैंडविड्थ (बिट/सेकंड)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "अधिकतम बैंडविड्थ (बिट/सेकंड)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "डिक्रिप्ट पथ"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "अधिकतम उत्तमता सामान्य विकोडक"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "वीडियो उत्तमता चयन"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "संचार माध्यम"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "अधिकतम उत्तमता सुरक्षित विकोडक"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "रद्द/बदले HDCP स्थिति"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "नज़रअंदाज़ करे प्रदर्शित रेसोलुशन"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "विशेषज्ञ"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "पूर्व-रिलीज़ सुविधाएँ सक्षम करें"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "ज़्यादा से ज़्यादा"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "सब"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "ऑडियो"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "वीडियो"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "न्यूनतम बैंडविड्थ (बिट/सेकंड)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "अधिकतम बैंडविड्थ (बिट/सेकंड)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "डिक्रिप्ट पथ"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "अधिकतम उत्तमता सामान्य विकोडक"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "वीडियो उत्तमता चयन"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "संचार माध्यम"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "अधिकतम उत्तमता सुरक्षित विकोडक"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "रद्द/बदले HDCP स्थिति"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "नज़रअंदाज़ करे प्रदर्शित रेसोलुशन"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "पूर्व-रिलीज़ सुविधाएँ सक्षम करें"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "ज़्यादा से ज़्यादा"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
diff --git a/inputstream.adaptive/resources/language/resource.language.hr_hr/strings.po b/inputstream.adaptive/resources/language/resource.language.hr_hr/strings.po
index 2d2dda4a3..649c7f5ee 100644
--- a/inputstream.adaptive/resources/language/resource.language.hr_hr/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.hr_hr/strings.po
@@ -5,144 +5,414 @@
msgid ""
msgstr ""
"Project-Id-Version: inputstream.adaptive\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-10-16 22:28+0200\n"
-"Last-Translator: dsardelic\n"
-"Language-Team: Croatian\n"
-"Language: hr_HR\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: gogogogi \n"
+"Language-Team: Croatian \n"
+"Language: hr_hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
-"X-Generator: Poedit 2.3\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr "InputStream klijent za adaptivne tokove"
+msgstr "InputStream klijent za prilagodljiva strujanja"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "InputStream klijent za adaptivne tokove"
+msgstr "InputStream klijent za prilagodljiva strujanja"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr "Opće"
+msgstr "Općenito"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Min. propusnost (bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Maks. propusnost (bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Putanja prema mapi s dekripterima"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Maks. razlučivost općeg dekodera"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Odabir toka"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Mediji"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Maks. razlučivost sigurnog dekodera"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Nadjačaj HDCP status"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Zanemari razlučivost zaslona"
-
-msgctxt "#30120"
-msgid "Expert"
-msgstr "Stručne"
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Omogući još neobjavljene značajke"
-
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Ukoliko je moguće, ne koristi sigurni dekoder"
+msgid "Ignore screen resolution"
+msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maks"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
+#. Category title
+msgctxt "#30120"
+msgid "Expert"
+msgstr "Stručno"
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Automatski odaberi tokove"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Ručno odaberi sve tokove"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
-msgstr "Sve"
+msgstr "Svi"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
-msgstr "Audio"
+msgstr "Zvuk"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Ručno odaberi video tok"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + Titlovi"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
-# Assured buffer length duration (seconds)
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
msgctxt "#30200"
-msgid "Assured Buffer Duration (sec)"
-msgstr "Osigurano trajanje međuspremnika (sek)"
+msgid "Assured buffer duration (sec)"
+msgstr ""
-# Max buffer length duration (seconds)
+#. Max buffer length duration (seconds)
msgctxt "#30201"
-msgid "Max Buffer Duration (sec)"
-msgstr "Maks. trajanje međuspremnika (sek)"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
-# Ignore Window Display Resolution Change
+#. Ignore screen resolution change e.g. window resize
msgctxt "#30202"
-msgid "Ignore Window Change"
-msgstr "Ignoriraj promjenu prozora"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Najmanja propusnost (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Najveća propusnost (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Putanja do dekôdera"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Najveća razlučivost općeg dekôdera"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Odabir strujanja"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Mediji"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Najveća razlučivost sigurnog dekôdera"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Zaobiđi HDCP stanje"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Zanemari razlučivost zaslona"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Omogući značajke predizdanja"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Ako je moguće, ne koristi sigurni dekôder"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Najveća"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automatski odabir strujanja"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Ručni odabir svih strujanja"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Ručni odabir video strujanja"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Podnaslovi"
diff --git a/inputstream.adaptive/resources/language/resource.language.hu_hu/strings.po b/inputstream.adaptive/resources/language/resource.language.hu_hu/strings.po
index a22587b6e..a6b1692e1 100644
--- a/inputstream.adaptive/resources/language/resource.language.hu_hu/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.hu_hu/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-09-03 08:29+0000\n"
-"Last-Translator: Frodo19 \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Hungarian \n"
"Language: hu_hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.8\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,110 +23,394 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr "InputStream kliens az adaptív streamekhez"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Általános"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Minimális sávszélesség (Bit/s), ami alá nem csökkenhet."
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Maximális sávszélesség (Bit/s), amelyet nem lép túl. 0=végtelen"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Mappa a decrypterek tárolására"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Maximális felbontás általános dekóder"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Stream választás"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Média"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Maximális felbontás a secure dekóderrel"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Stream választásnál figyelmen kívül hagyja a HDCP státuszt"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Kijelző felbontást figyelmen kívül hagyja"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Haladó"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Kiadás előtti funkciók engedélyezése"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Ne használj secure dekódert ha lehetséges"
-
-msgctxt "#30150"
-msgid "Max"
-msgstr "Max"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Automatikus stream választás"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Kézi stream választás"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Minden"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Hang"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Videó"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Kézi videó stream választás"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Videó + feliratok"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Minimális sávszélesség (Bit/s), ami alá nem csökkenhet."
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Maximális sávszélesség (Bit/s), amelyet nem lép túl. 0=végtelen"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Mappa a decrypterek tárolására"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Maximális felbontás általános dekóder"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Stream választás"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Média"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Maximális felbontás a secure dekóderrel"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Stream választásnál figyelmen kívül hagyja a HDCP státuszt"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Kijelző felbontást figyelmen kívül hagyja"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Kiadás előtti funkciók engedélyezése"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Ne használj secure dekódert ha lehetséges"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Max"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automatikus stream választás"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Kézi stream választás"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Kézi videó stream választás"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Videó + feliratok"
diff --git a/inputstream.adaptive/resources/language/resource.language.hy_am/strings.po b/inputstream.adaptive/resources/language/resource.language.hy_am/strings.po
index 0268e035b..35f6052b7 100644
--- a/inputstream.adaptive/resources/language/resource.language.hy_am/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.hy_am/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Armenian \n"
"Language: hy_am\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.id_id/strings.po b/inputstream.adaptive/resources/language/resource.language.id_id/strings.po
index 200d8b1bd..bbe19ec96 100644
--- a/inputstream.adaptive/resources/language/resource.language.id_id/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.id_id/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Indonesian \n"
"Language: id_id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.is_is/strings.po b/inputstream.adaptive/resources/language/resource.language.is_is/strings.po
index f434f977d..2b45ff58d 100644
--- a/inputstream.adaptive/resources/language/resource.language.is_is/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.is_is/strings.po
@@ -4,125 +4,325 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Sveinn í Felli \n"
+"Language-Team: Icelandic \n"
"Language: is_is\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n % 10 != 1 || n % 100 == 11;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "InputStream-biðlari fyrir aðlaganleg streymi"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Almennt"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Lágmarks-bandbreidd (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Hámarks-bandbreidd (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
+msgid "Maximum resolution"
+msgstr "Hámarksupplausn"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr ""
+msgid "Type of media streams played"
+msgstr "Tegund myndstreymis í spilun"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
+msgid "Maximum resolution for DRM videos"
+msgstr "Hámarksupplausn fyrir DRM-myndskeið"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr "Hunsa skjáupplausn"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Handvirkt val streymis"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
+msgstr "Ítarlegt"
+
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Mynd / hljóðstreymi"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Allt"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Hljóð"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Myndmerki"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Myndstreymi"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Myndmerki / Skjátextar"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Aðlaganlegt streymi"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
msgstr ""
-msgctxt "#30151"
-msgid "480p"
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
msgstr ""
-msgctxt "#30152"
-msgid "640p"
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
msgstr ""
-msgctxt "#30153"
-msgid "720p"
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
msgstr ""
-msgctxt "#30154"
-msgid "1080p"
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Hunsa HDCP-stöðu"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Aðlaganlegt (sjálfgefið)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Handvirkir OSD-stjórntextar"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Föst upplausn"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Spyrja um gæði"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Prófa"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Slóð afkóðara"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Sjálfvirkt"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr "480p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr "640p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr "720p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr "1080p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Veldu myndstreymi"
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Myndstreymi {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Prófunarhamur"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Skipta eftir bútum"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Bútar"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Taka fram yfir stillingar"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Atvikaskráning"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Vista gögn notkunarleyfis"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.it_it/strings.po b/inputstream.adaptive/resources/language/resource.language.it_it/strings.po
index 9d1355da2..8af98867c 100644
--- a/inputstream.adaptive/resources/language/resource.language.it_it/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.it_it/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Italian\n"
-"Language: it\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Massimo Pissarello \n"
+"Language-Team: Italian \n"
+"Language: it_it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "Client InputStream per flussi adattivi"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "Client InputStream per flussi adattivi. Sono supportati protocolli di streaming comuni come MPEG-DASH, HLS e Microsoft Smooth Streaming.[CR][CR]L'add-on supporta anche flussi protetti da DRM, come Google Widevine, Microsoft PlayReady e altri.[CR][CR] ]Per la documentazione visita: https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Generale"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "La larghezza di banda minima (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Larghezza di banda minima (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "La larghezza di banda massima (Bit/s) 0=illimitato"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Larghezza di banda massima (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Percorso decrittatore"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Stabilisce il limite di banda da non superare con i flussi audio/video. Impostare su 0 per disabilitarlo."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Risoluzione massima per il decoder generico"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Selezione dei flussi"
+msgid "Maximum resolution"
+msgstr "Risoluzione massima"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media riprodotti"
+msgid "Type of media streams played"
+msgstr "Tipo di flussi multimediali riprodotti"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Risoluzione massima per il decoder sicuro"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Sovrascrivi stato HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr "Risoluzione massima per video DRM"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr "Ignora la risoluzione dello schermo"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Se abilitata, la risoluzione dello schermo (o la dimensione della finestra in modalità finestra) non verrà più considerata quando si seleziona la migliore risoluzione del flusso video all'avvio del video e durante la riproduzione."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Modalità di selezione manuale del flusso"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Definisce il tipo di flussi da rendere disponibili per la selezione manuale nelle impostazioni dell'OSD di Kodi durante la riproduzione."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Esperto"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Abilita le funzionalità Pre-Release"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Try avoiding the use of secure decoder"
+msgstr "Cerca di evitare l'uso di un decoder sicuro"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Alcuni dispositivi Android definiti come Widevine L1 potrebbero non funzionare correttamente, il che potrebbe causare una schermata nera durante la riproduzione. In questo caso prova ad abilitarlo."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Flussi audio/video"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Tutti"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Video"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Flussi video"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Video / Sottotitoli"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Flusso adattivo"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "ATTENZIONE: questa è una funzionalità di PROVA, potrebbe non funzionare correttamente e potrebbe cambiare nelle versioni future."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Determina automaticamente la larghezza di banda iniziale"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Se abilitata, la larghezza di banda sarà determinata dal primo download, tuttavia potrebbe non essere precisa. Se la qualità del video all'inizio della riproduzione è troppo bassa, prova a disabilitarla."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Larghezza di banda iniziale (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Definisce la larghezza di banda iniziale quando non può essere determinata automaticamente. Questo valore può essere sostituito dall'impostazione della larghezza di banda minima."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Ignora lo stato HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Alcuni video HD/UHD protetti da DRM possono essere riprodotti solo se lo stato HDCP viene ignorato."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Tipo di selezione del flusso"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Imposta come verrà scelta la qualità dei flussi audio/video durante la riproduzione. Questa impostazione può essere sovrascritta dall'add-on usato. Vedi Wiki per ulteriori informazioni."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adattivo (predefinito)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "OSD manuale"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Risoluzione fissa"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Chiedi qualità"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Test"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Durata garantita buffer (sec)"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Massima"
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Durata massima buffer (sec)"
-msgctxt "#30151"
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Ignora modifica risoluzione dello schermo"
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Se abilitata, la risoluzione dello schermo (o la dimensione della finestra in modalità finestra) non verrà più considerata quando si seleziona la migliore risoluzione del flusso video durante la riproduzione."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Percorso decifratore"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Auto"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Selezione dei flussi automatica"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Selezione manuale di tutti i flussi"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Tutti"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Solo audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Seleziona flusso video"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Solo video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Flusso video {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Modalità di prova"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Cambia in base ai segmenti"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmenti"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Sovrascrivi impostazioni"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Registrazione debug"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Salva manifest del flusso"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Salva i manifest del flusso scaricati durante la riproduzione nella cartella dei dati utente di InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Salva dati della licenza"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Salva i dati della licenza, ad esempio: dati iniziali, dati di sfida e dati di risposta, nella cartella \"cdm\" della cartella dei dati di Kodi."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Larghezza di banda minima (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Larghezza di banda massima (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Percorso decodificatore"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Risoluzione massima per decodificatore generale"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Selezione stream"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Risoluzione massima per decodificatore sicuro"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Sovrascrivi stato HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignora risoluzione schermo"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Abilita funzionalità prima del rilascio"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Non utilizzare decoder sicuro se possibile"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Massima"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Seleziona automaticamente stream"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Seleziona manualmente tutti gli stream"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Selezione manuale del flusso video"
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Seleziona manualmente gli stream video"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + Sottotitoli"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Sottotitoli"
diff --git a/inputstream.adaptive/resources/language/resource.language.ja_jp/strings.po b/inputstream.adaptive/resources/language/resource.language.ja_jp/strings.po
index b8f8decce..63c45fa8f 100644
--- a/inputstream.adaptive/resources/language/resource.language.ja_jp/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ja_jp/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Japanese\n"
-"Language: ja\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Japanese \n"
+"Language: ja_jp\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,394 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "一般"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "最小帯域(Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "最大帯域(Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "復号化機パース"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "一般デコーダによる最大解像度"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "ストリーム選択"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "メディア"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "セキュアデコーダによる最大解像度"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "HDCP設定を無視する。"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "画面の解像度を無視する。"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "エキスパート"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "プレリリース機能を使う。"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "可能な限りセキュアデコーダを使わない"
-
-msgctxt "#30150"
-msgid "Max"
-msgstr "最大"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "自動選択"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "手動選択"
+msgid "Audio / Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "全部"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "オーディオ"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "ビデオ"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "ビデオストリーム手動選択"
+msgid "Video streams"
+msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "ビデオと字幕"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "最小帯域(Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "最大帯域(Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "復号化機パース"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "一般デコーダによる最大解像度"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "ストリーム選択"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "メディア"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "セキュアデコーダによる最大解像度"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "HDCP設定を無視する。"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "画面の解像度を無視する。"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "プレリリース機能を使う。"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "可能な限りセキュアデコーダを使わない"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "最大"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "自動選択"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "手動選択"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "ビデオストリーム手動選択"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "ビデオと字幕"
diff --git a/inputstream.adaptive/resources/language/resource.language.kn_in/strings.po b/inputstream.adaptive/resources/language/resource.language.kn_in/strings.po
index c21676ddf..6cf407931 100644
--- a/inputstream.adaptive/resources/language/resource.language.kn_in/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.kn_in/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Kannada (India) \n"
"Language: kn_in\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ko_kr/strings.po b/inputstream.adaptive/resources/language/resource.language.ko_kr/strings.po
index 226ea3e0a..e325547a7 100644
--- a/inputstream.adaptive/resources/language/resource.language.ko_kr/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ko_kr/strings.po
@@ -5,128 +5,412 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-01 09:42+0000\n"
-"Last-Translator: Joe Baek \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Minho Park \n"
"Language-Team: Korean \n"
"Language: ko_kr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr "가변 스트림을 위한 InputStream 클라이언트"
+msgstr "적응형 스트림을 위한 InputStream 클라이언트"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "가변 스트림을 위한 InputStream 클라이언트"
+msgstr "적응형 스트림을 위한 InputStream 클라이언트입니다. MPEG-DASH, HLS 및 Microsoft Smooth Streaming과 같은 일반적인 스트리밍 프로토콜이 지원됩니다.[CR][CR]추가 기능은 Google Widevine, Microsoft PlayReady 등과 같은 DRM 보호 스트림도 지원합니다.[CR][CR ]문서를 보려면 https://github.com/xbmc/inputstream.adaptive를 방문하세요"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "일반"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "최소대역폭(Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "최소 대역폭(Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "최대대역폭(Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "최대 대역폭(Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "복호화기 경로"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "오디오/비디오 스트림이 초과되지 않도록 대역폭 제한을 설정합니다. 사용하지 않으려면 0으로 설정하십시오."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "일반 복호화기의 최대 해상도"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "스트림선택"
+msgid "Maximum resolution"
+msgstr "최대 해상도"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "미디어"
+msgid "Type of media streams played"
+msgstr "재생되는 미디어 스트림 유형"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "보안 복호화기의 최대 해상도"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "HDCP설정을 무시"
+msgid "Maximum resolution for DRM videos"
+msgstr "DRM 비디오의 최대 해상도"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "화면해상도를 무시"
+msgid "Ignore screen resolution"
+msgstr "화면 해상도 무시"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "사용하면 비디오가 시작될 때와 재생 중에 최상의 비디오 스트림 해상도를 선택할 때 화면 해상도(또는 창 모드의 창 크기)가 더 이상 고려되지 않습니다."
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "수동 스트림 선택 모드"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "재생 중 Kodi OSD 설정에서 수동 선택에 사용할 수 있는 스트림 유형을 정의합니다."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "전문가"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "공개 전 기능 활성화"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "가능하면 보안 복호화기 사용 않음"
+msgid "Try avoiding the use of secure decoder"
+msgstr "보안 디코더를 사용하지 않음"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Widevine L1로 정의된 일부 Android 기기는 제대로 작동하지 않을 수 있으며, 이로 인해 재생 중에 검은색 화면이 나타날 수 있습니다. 이 경우 사용하십시오."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "오디오/비디오 스트림"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "모두"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "오디오"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "비디오"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "비디오 스트림"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "영상/자막"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "적응형 스트림"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "경고: 테스트 기능으로, 제대로 작동하지 않거나 향후 버전에서 변경될 수 있습니다."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "자동으로 초기 대역폭 결정"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "사용하면 대역폭은 첫 번째 다운로드에 의해 결정되지만 정확하지 않을 수 있습니다. 재생 시작 시 비디오 품질이 너무 낮으면 사용하지 마십시오."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "초기 대역폭(Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "자동으로 결정할 수 없는 경우 초기 대역폭을 정의합니다. 이 값은 최소 대역폭 설정으로 바뀔 수 있습니다."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "HDCP 상태 무시"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "일부 DRM 보호 HD/UHD 동영상은 HDCP 상태가 무시되는 경우에만 재생될 수 있습니다."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "스트림 선택 유형"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "재생 중에 오디오/비디오 스트림 품질을 선택하는 방법을 설정합니다. 이 설정은 사용된 비디오 추가 기능에 의해 바뀔 수 있습니다. 자세한 내용은 위키를 참조하십시오."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "적응형(기본값)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "수동 OSD"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "고정 해상도"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "품질 확인"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "시험"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "보장된 버퍼 지속 시간(초)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "최대 버퍼 지속 시간(초)"
-msgctxt "#30150"
-msgid "Max"
-msgstr "최대"
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "화면 해상도 변경 무시"
-msgctxt "#30151"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "사용하면 재생 중에 최상의 비디오 스트림 해상도를 선택할 때 화면 해상도(또는 창 모드인 경우 창 크기)가 더 이상 고려되지 않습니다."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "암호 해독기 경로"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "자동"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "자동으로 스트림 선택"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "수동으로 모든 스트림 선택"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "모두"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "오디오"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "비디오 스트림 선택"
-msgctxt "#30159"
-msgid "Video"
-msgstr "비디오"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "비디오 스트림 {코덱} {품질}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "시험 모드"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "세그먼트로 전환"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "세그먼트"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "설정 바꾸기"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "디버그 로그"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "스트림 목록 저장"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "재생 중에 내려받은 스트림 목록을 InputStream Adaptive의 사용자 데이터 폴더에 저장합니다."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "라이선스 데이터 저장"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "예를 들어 초기 데이터, 챌린지 데이터 및 응답 데이터와 같은 라이선스 데이터를 Kodi 데이터 폴더의 \"cdm\" 폴더에 저장합니다."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "최소대역폭(Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "최대대역폭(Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "복호화기 경로"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "일반 복호화기의 최대 해상도"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "스트림선택"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "미디어"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "보안 복호화기의 최대 해상도"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "HDCP설정을 무시"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "화면해상도를 무시"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "공개 전 기능 활성화"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "가능하면 보안 복호화기 사용 않음"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "최대"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "자동으로 스트림 선택"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "수동으로 모든 스트림 선택"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "수동으로 비디오 스트림 선택"
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "수동으로 비디오 스트림 선택"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "비디오 + 자막"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "비디오 + 자막"
diff --git a/inputstream.adaptive/resources/language/resource.language.lt_lt/strings.po b/inputstream.adaptive/resources/language/resource.language.lt_lt/strings.po
index 79c8670e7..8a2a6d638 100644
--- a/inputstream.adaptive/resources/language/resource.language.lt_lt/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.lt_lt/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Lithuanian \n"
"Language: lt_lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.lv_lv/strings.po b/inputstream.adaptive/resources/language/resource.language.lv_lv/strings.po
index 8a74761cc..542f84461 100644
--- a/inputstream.adaptive/resources/language/resource.language.lv_lv/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.lv_lv/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Latvian \n"
"Language: lv_lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= 19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "InputStream klients adaptīvām straumēm"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "InputStream klients adaptīvām straumēm"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Vispārīgie"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
+msgstr "Eksperts"
+
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Visi"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Video"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
msgstr ""
-msgctxt "#30151"
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Min. caurlaidspēja (biti sekundē)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Maks. caurlaidspēja (biti sekundē)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Ceļš uz dekoderi"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Maks. galvenā dekodera izšķirtspēja"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Straumes izvēle"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Multimedija"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Maks. drošā dekodera izšķirtspēja"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Ignorēt HDCP statusu"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorēt ekrāna izšķirtspēju"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Iespējot pirmsizlaides funkcijas"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Ja iespējams, neizmantot drošo dekoderi"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maks"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automātiski izvēlēties straumes"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Manuāli Izvēlēties visas straumes"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Manuāli izvēlēties video straumi"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Subtitri"
diff --git a/inputstream.adaptive/resources/language/resource.language.ml_in/strings.po b/inputstream.adaptive/resources/language/resource.language.ml_in/strings.po
index 79a97321e..d7c3f7f0b 100644
--- a/inputstream.adaptive/resources/language/resource.language.ml_in/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ml_in/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Malayalam (India) \n"
"Language: ml_in\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.mn_mn/strings.po b/inputstream.adaptive/resources/language/resource.language.mn_mn/strings.po
index 20d36ae43..e38a9703f 100644
--- a/inputstream.adaptive/resources/language/resource.language.mn_mn/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.mn_mn/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Mongolian \n"
"Language: mn_mn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.mt_mt/strings.po b/inputstream.adaptive/resources/language/resource.language.mt_mt/strings.po
index 0c9b98a91..c4cfe0915 100644
--- a/inputstream.adaptive/resources/language/resource.language.mt_mt/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.mt_mt/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Maltese \n"
"Language: mt_mt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.my_mm/strings.po b/inputstream.adaptive/resources/language/resource.language.my_mm/strings.po
index 340a72d27..0a07e2f36 100644
--- a/inputstream.adaptive/resources/language/resource.language.my_mm/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.my_mm/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Burmese \n"
"Language: my_mm\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.nb_no/strings.po b/inputstream.adaptive/resources/language/resource.language.nb_no/strings.po
index 764c9dc12..8f9e96c44 100644
--- a/inputstream.adaptive/resources/language/resource.language.nb_no/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.nb_no/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Norwegian Bokmål \n"
"Language: nb_no\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.nl_nl/strings.po b/inputstream.adaptive/resources/language/resource.language.nl_nl/strings.po
index 17b37a076..fdb61c12d 100644
--- a/inputstream.adaptive/resources/language/resource.language.nl_nl/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.nl_nl/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Dutch\n"
-"Language: nl\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Robin \n"
+"Language-Team: Dutch \n"
+"Language: nl_nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "InputStream client voor adaptive streams"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Algemeen"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Minimum bandbreedte (bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Maximum bandbreedte (bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Decrypter-pad"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Maximum resolutie algemene decoder"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Streamselectie"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Maximum resolutie beveiligde decoder"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Negeer HDCP-status"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Negeer schermresolutie"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Pre-release features inschakelen"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Max"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Alles"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Audio"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + ondertiteling"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Minimum bandbreedte (bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Maximum bandbreedte (bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Decrypter-pad"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Maximum resolutie algemene decoder"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Streamselectie"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Maximum resolutie beveiligde decoder"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Negeer HDCP-status"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Negeer schermresolutie"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Pre-release features inschakelen"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Beveiligde decoder niet gebruiken indien mogelijk"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Max"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automatisch streams selecteren"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Handmatig alle streams selecteren"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Handmatig videostream selecteren"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + ondertiteling"
diff --git a/inputstream.adaptive/resources/language/resource.language.os_os/strings.po b/inputstream.adaptive/resources/language/resource.language.os_os/strings.po
index c90420fd4..f1ad34b87 100644
--- a/inputstream.adaptive/resources/language/resource.language.os_os/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.os_os/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Ossetian \n"
"Language: os_os\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.pl_pl/strings.po b/inputstream.adaptive/resources/language/resource.language.pl_pl/strings.po
index 91431c2b3..a2cc76cd4 100644
--- a/inputstream.adaptive/resources/language/resource.language.pl_pl/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.pl_pl/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-16 15:29+0000\n"
-"Last-Translator: Marek Adamski \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Christian Gade \n"
"Language-Team: Polish \n"
"Language: pl_pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -21,112 +21,396 @@ msgstr "Klient InputStream dla strumieni adaptacyjnych"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "Klient InputStream dla strumieni adaptacyjnych"
+msgstr "Klient InputStream dla strumieni adaptacyjnych. Obsługiwane są popularne protokoły przesyłania strumieniowego, takie jak MPEG-DASH, HLS i Microsoft Smooth Streaming.[CR][CR]Dodatek obsługuje również strumienie chronione DRM, takie jak Google Widevine, Microsoft PlayReady i inne.[CR][CR] ]Dokumentacja znajduje się na stronie: https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Główne"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Min. przepustowość (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Minimalna przepustowość (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Maks. przepustowość (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Maksymalna przepustowość (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Lokalizacja dekodera"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Ustala limit pasma, którego nie należy przekraczać przy strumieniach audio/wideo. Ustaw na 0, aby go wyłączyć."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Maks. rozdzielczość ogólnego dekodera"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Wybór strumienia"
+msgid "Maximum resolution"
+msgstr "Maksymalna rozdzielczość"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media"
+msgid "Type of media streams played"
+msgstr "Typ odtwarzanych strumieni multimedialnych"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Maks. rozdzielczość zabezpieczonego dekodera"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Zastąp status HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr "Maksymalna rozdzielczość dla video z DRM"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Zignoruj rozdzielczość ekranu"
+msgid "Ignore screen resolution"
+msgstr "Ignoruj rozdzielczość ekranu"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Po włączeniu tej opcji rozdzielczość ekranu (lub rozmiar okna w trybie okienkowym) nie będzie już brana pod uwagę przy wyborze najlepszej rozdzielczości strumienia wideo podczas uruchamiania i odtwarzania wideo."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Ręczny tryb wyboru strumienia"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Określa, które rodzaje strumieni mają być dostępne do ręcznego wyboru w ustawieniach OSD Kodi podczas odtwarzania."
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Eksperckie"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Włącz funkcje wydań niestabilnych"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Nie używaj bezpiecznego dekodera, jeśli to możliwe"
+msgid "Try avoiding the use of secure decoder"
+msgstr "Spróbuj uniknąć używania bezpiecznego dekodera"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Niektóre urządzenia z systemem Android zdefiniowanym jako Widevine L1, mogą nie działać prawidłowo, co może skutkować czarnym ekranem podczas odtwarzania. W takim przypadku spróbuj włączyć tę funkcję."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Strumienie audio / wideo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Wszystkie"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Audio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Wideo"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Strumienie wideo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Wideo / Napisy"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Strumień adaptacyjny"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "Widevine DRM"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "OSTRZEŻENIE: To jest funkcja TESTOWA, może nie działać odpowiednio i może się zmienić w przyszłych wersjach."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Automatycznie określa początkową przepustowość"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Jeśli jest włączona, przepustowość zostanie określona na podstawie pierwszego pobrania, jednak może nie być dokładna. Jeśli jakość wideo na początku odtwarzania jest zbyt niska spróbuj ją wyłączyć."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Początkowa przepustowość (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Określa początkową przepustowość, gdy nie może być ona określona automatycznie. Ta wartość może zostać zastąpiona przez ustawienie minimalnej przepustowości."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Ignoruj status HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Niektóre filmy HD / UHD chronione przez DRM mogą być odtwarzane tylko wtedy, gdy stan HDCP jest ignorowany."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Typ wyboru strumienia"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Ustawienie sposobu wyboru jakości strumieni audio/wideo podczas odtwarzania. To ustawienie może być nadpisane przez używany dodatek wideo. Zobacz Wiki, aby uzyskać więcej informacji."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adaptacyjny (domyślnie)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Ręczne OSD"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Stała rozdzielczość"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Pytaj o jakość"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Testowy"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Czas trwania bufora (sek.)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Maksymalny czas trwania bufora (s)"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maks."
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Ignoruj zmiany rozdzielczości ekranu"
-msgctxt "#30151"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Po włączeniu tej opcji rozdzielczość ekranu (lub rozmiar okna w trybie okienkowym) nie będzie już brana pod uwagę przy wyborze najlepszej rozdzielczości strumienia wideo podczas odtwarzania."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Ścieżka dekodera"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Automatycznie"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Automatycznie wybieraj strumienie"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Ręcznie wybieraj wszystkie strumienie"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Wszystkie"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Wybór strumienia wideo"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Wideo"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Strumień wideo {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Tryb testowy"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Przełączanie według segmentów"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmenty"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Nadpisywanie ustawień"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Rejestrowanie błędów"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Zapisz manifesty strumieniowe"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Zapisuje manifesty strumienia pobrane podczas odtwarzania w folderze danych użytkownika InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Zapisz dane licencji"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Zapisuje dane licencji na przykład: dane początkowe, dane wyzwania i dane odpowiedzi, w folderze \"cdm\" folderu danych Kodi."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Min. przepustowość (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Maks. przepustowość (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Lokalizacja dekodera"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Maks. rozdzielczość ogólnego dekodera"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Wybór strumienia"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Maks. rozdzielczość zabezpieczonego dekodera"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Zastąp status HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Zignoruj rozdzielczość ekranu"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Włącz funkcje wydań niestabilnych"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Nie używaj bezpiecznego dekodera, jeśli to możliwe"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maks."
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Automatycznie wybieraj strumienie"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Ręcznie wybieraj wszystkie strumienie"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Ręcznie wybieraj strumień wideo"
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Ręcznie wybieraj strumień wideo"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Wideo + napisy"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Wideo + napisy"
diff --git a/inputstream.adaptive/resources/language/resource.language.pt_br/strings.po b/inputstream.adaptive/resources/language/resource.language.pt_br/strings.po
index b503db4a0..71ee65a6f 100644
--- a/inputstream.adaptive/resources/language/resource.language.pt_br/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.pt_br/strings.po
@@ -4,125 +4,325 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Portuguese (Brazil) \n"
"Language: pt_br\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "Cliente InputStream para transmissões adaptáveis"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "Cliente InputStream para transmissões adaptáveis. Há suporte para protocolos de streaming comuns, como MPEG-DASH, HLS e Microsoft Smooth Streaming.[CR][CR]O addon também oferece suporte a transmissões protegidas por DRM, como Google Widevine, Microsoft PlayReady e outros.[CR][CR]Para obter a documentação, visite: https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "Geral"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Largura de banda mínima (Kbps)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Largura de banda máxima (Kbps)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr ""
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Estabelece o limite de largura de banda que não deve ser excedido com as transmissões de áudio/vídeo. Defina como 0 para desativá-lo."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
+msgid "Maximum resolution"
+msgstr "Resolução máxima"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr ""
+msgid "Type of media streams played"
+msgstr "Tipo de transmissões de mídia reproduzidas"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
+msgid "Maximum resolution for DRM videos"
+msgstr "Resolução máxima para vídeos com DRM"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr ""
+msgid "Ignore screen resolution"
+msgstr "Ignorar a resolução da tela"
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Se ativada, a resolução da tela (ou o tamanho da janela quando estiver no modo de janela) não será mais considerada ao selecionar a melhor resolução de fluxo de vídeo quando o vídeo for iniciado e durante a reprodução."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Modo de seleção manual de transmissão"
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Define o tipo de transmissões a ser disponibilizadas para seleção manual nas configurações do OSD do Kodi durante a reprodução."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
-msgstr ""
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr ""
+msgstr "Expert"
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
+msgid "Try avoiding the use of secure decoder"
+msgstr "Tente evitar o uso de um decodificador seguro"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "Alguns dispositivos Android, definidos como Widevine L1, podem não funcionar corretamente, o que pode resultar em uma tela preta durante a reprodução. Nesse caso, tente ativá-lo."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Transmissões de áudio/vídeo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Tudo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Áudio"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Vídeo"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Transmissões de vídeo"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Vídeo / Legendas"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Transmissão adaptativa"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "DRM Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "AVISO: este é um recurso de TESTE, pode não funcionar adequadamente e pode ser alterado em versões futuras."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Determinar automaticamente a largura de banda inicial"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Se ativado, a largura de banda será determinada pelo primeiro download, mas pode não ser exata. Se a qualidade do vídeo no início da reprodução for muito baixa, tente desativá-la."
-msgctxt "#30150"
-msgid "Max"
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Largura de banda inicial (Kbps)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Define a largura de banda inicial quando ela não pode ser determinada automaticamente. Esse valor pode ser substituído pela configuração de largura de banda mínima."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Ignorar o status do HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Alguns vídeos HD / UHD protegidos por DRM só poderão ser reproduzidos se o status HDCP for ignorado."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Tipo de seleção de transmissão"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Define como a qualidade das transmissões de áudio/vídeo será escolhida durante a reprodução. Essa configuração pode ser substituída pelo addon de vídeo usado. Consulte a Wiki para obter mais informações."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Adaptativo (padrão)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "OSD manual"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Resolução fixa"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Pergunte sobre a qualidade"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Teste"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Duração garantida do buffer (seg)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Duração máxima do buffer (seg)"
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Ignorar alteração na resolução da tela"
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Se ativada, a resolução da tela (ou o tamanho da janela quando estiver no modo de janela) não será mais considerada ao selecionar a melhor resolução da transmissão de vídeo durante a reprodução."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Caminho do decodificador"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
msgstr ""
-msgctxt "#30151"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
-msgstr ""
+msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
-msgstr ""
+msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
-msgstr ""
+msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
-msgstr ""
+msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr ""
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
-msgstr ""
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Transmissão de vídeo {codec} {qualidade}"
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Modo de teste"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Trocar por segmentos"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Segmentos"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "configurações override"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Registro de depuração"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Salvar manifestos da transmissão"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Salva os manifestos da transmissão baixada durante a reprodução na pasta de dados do usuário do InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Salvar dados da licença"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Salva os dados da licença, por exemplo: dados iniciais, dados de desafio e dados de resposta, na pasta \"cdm\" da pasta de dados do Kodi."
diff --git a/inputstream.adaptive/resources/language/resource.language.pt_pt/strings.po b/inputstream.adaptive/resources/language/resource.language.pt_pt/strings.po
index c272df27b..5eda8a2a6 100644
--- a/inputstream.adaptive/resources/language/resource.language.pt_pt/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.pt_pt/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Portuguese (Portugal) \n"
"Language: pt_pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ro_md/strings.po b/inputstream.adaptive/resources/language/resource.language.ro_md/strings.po
deleted file mode 100644
index 621881bce..000000000
--- a/inputstream.adaptive/resources/language/resource.language.ro_md/strings.po
+++ /dev/null
@@ -1,128 +0,0 @@
-# Kodi Media Center language file
-# Addon Name: Inputstream.adaptive
-# Addon id: inputstream.adaptive
-# Addon Provider: peak3d
-msgid ""
-msgstr ""
-"Language-Team: none\n"
-"Language: ro_md\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n == 0 || n % 100 >= 2 && n % 100 <= 19) ? 1 : 2);\n"
-
-msgctxt "Addon Summary"
-msgid "InputStream client for adaptive streams"
-msgstr ""
-
-msgctxt "Addon Description"
-msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
-
-msgctxt "#30100"
-msgid "General"
-msgstr ""
-
-# The minimum bandwidth which should not be deceeded.
-msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
-
-# The maximum bandwidth which should not be exceeded. 0=unlimited
-msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
-
-# Absolute path to the folder containing the decrypters
-msgctxt "#30103"
-msgid "Decrypter path"
-msgstr ""
-
-# Maximum Resolution
-msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
-
-msgctxt "#30112"
-msgid "Media"
-msgstr ""
-
-# Maximum allowed resolution if decoded through secure path
-msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
-
-# Do not respect display resolution when selecting streams
-msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr ""
-
-msgctxt "#30120"
-msgid "Expert"
-msgstr ""
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr ""
-
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
-
-msgctxt "#30150"
-msgid "Max"
-msgstr ""
-
-msgctxt "#30151"
-msgid "480p"
-msgstr ""
-
-msgctxt "#30152"
-msgid "640p"
-msgstr ""
-
-msgctxt "#30153"
-msgid "720p"
-msgstr ""
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr ""
-
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
-
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
-
-msgctxt "#30157"
-msgid "All"
-msgstr ""
-
-msgctxt "#30158"
-msgid "Audio"
-msgstr ""
-
-msgctxt "#30159"
-msgid "Video"
-msgstr ""
-
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
-
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ro_ro/strings.po b/inputstream.adaptive/resources/language/resource.language.ro_ro/strings.po
index 092ad9888..4d5590a88 100644
--- a/inputstream.adaptive/resources/language/resource.language.ro_ro/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ro_ro/strings.po
@@ -4,13 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Last-Translator: tmihai20\n"
-"Language-Team: Romanian (Romania)\n"
-"Language: ro\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Romanian \n"
+"Language: ro_ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -20,110 +23,377 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "General"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Lățimea minimă de bandă (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Lățimea maximă de bandă nu ar trebui depășită. 0=nelimitată"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Calea absolută către directorul care conține decriptorii"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Rezolution maximă"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Selectarea fluxului"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Rezoluția maximă admisă cu decodare printr-o cale sigură"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Selectați fluxurile fără a respecta statusul HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Nu respectați rezoluția de afișare la selectarea fluxurilor"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Activează caracteristici experimentale"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maxim"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Toate"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Audio"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video și subtitrări"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Lățimea minimă de bandă (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Lățimea maximă de bandă nu ar trebui depășită. 0=nelimitată"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Calea absolută către directorul care conține decriptorii"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Rezolution maximă"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Selectarea fluxului"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Rezoluția maximă admisă cu decodare printr-o cale sigură"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Selectați fluxurile fără a respecta statusul HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Nu respectați rezoluția de afișare la selectarea fluxurilor"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Activează caracteristici experimentale"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maxim"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video și subtitrări"
diff --git a/inputstream.adaptive/resources/language/resource.language.ru_ru/strings.po b/inputstream.adaptive/resources/language/resource.language.ru_ru/strings.po
index 6aa42c5a1..19e8c9cbb 100644
--- a/inputstream.adaptive/resources/language/resource.language.ru_ru/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ru_ru/strings.po
@@ -5,128 +5,412 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-16 15:29+0000\n"
-"Last-Translator: Dmitry Petrov \n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Christian Gade \n"
"Language-Team: Russian \n"
"Language: ru_ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr "InputStream клиент для адаптивных трансляций"
+msgstr "Клиент InputStream для адаптивных потоков"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr "InputStream клиент для адаптивных трансляций"
+msgstr "Клиент InputStream для адаптивных потоков. Поддерживаются такие распространенные потоковые протоколы, как MPEG-DASH, HLS и Microsoft Smooth Streaming.[CR][CR]Дополнение также поддерживает потоки, защищенные DRM, такие как Google Widevine, Microsoft PlayReady и другие.[CR][CR]Для получения документации посетите: https://github.com/xbmc/inputstream.adaptive"
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Общие"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Мин. пропускная способность (Бит/с)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr "Минимальная скорость (кбит/с)"
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Макс. пропускная способность (Бит/с)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr "Максимальная скорость (кбит/с)"
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Путь к декодеру"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr "Устанавливает ограничение скорости, котороя не должна быть превышена для аудио/ видеопотоков. Установите значение 0, чтобы отключить это ограничение."
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Макс. разрешение общего декодера"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Выбор потока"
+msgid "Maximum resolution"
+msgstr "Максимальное разрешение"
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Медиа"
+msgid "Type of media streams played"
+msgstr "Тип воспроизводимого медиапотока"
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Макс. разрешение защищенного декодера"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Переопределить статус HDCP"
+msgid "Maximum resolution for DRM videos"
+msgstr "Максимальное разрешение для DRM-видео"
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr "Игнорировать разрешение экрана"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr "Если включено, разрешение экрана (или размер окна в оконном режиме) больше не будет учитываться при выборе оптимального разрешения видеопотока при запуске и воспроизведении видео."
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr "Режим выбора потока вручную"
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr "Определяет доступный во время воспроизведения для ручного выбора в настройках Kodi OSD тип потоков."
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Экспертные"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Включить предрелизные возможности"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr "Не использовать защищеный декодер если возможно"
+msgid "Try avoiding the use of secure decoder"
+msgstr "Старайтесь не использовать безопасный декодер"
+
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr "На некоторых Android-устройствах, определяемых как Widevine L1, может работать некорректно и может привести к появлению черного экрана во время воспроизведения. В этом случае попробуйте включить его."
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr "Аудио / Видео потоки"
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "Все"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "Аудио"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "Видео"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr "Видео потоки"
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr "Видео / Субтитры"
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr "Адаптивный поток"
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr "УЦП Widevine"
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr "ВНИМАНИЕ: Тестовая функция и может не работать должным образом или измениться в будущих версиях."
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr "Автоматическое определение начальной полосы пропускания"
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr "Если включено, пропускная способность будет определяться по первой загрузке и может быть неточной. Если качество видео в начале воспроизведения слишком низкое, попробуйте отключить эту функцию."
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr "Начальная пропускная способность (Кбит/с)"
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr "Определяет начальную полосу пропускания, если она не может быть определена автоматически. Это значение может быть отменено настройкой минимальной полосы пропускания."
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr "Игнорировать статус HDCP"
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr "Некоторые защищенные DRM HD / UHD видео могут воспроизводиться только когда статус HDCP игнорируется."
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr "Тип выбора потоков"
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr "Установите, как будет выбираться качество аудио- и видеопотоков при воспроизведении. Эта настройка может быть переопределена используемым видеодополнением. Дополнительные сведения см. в Wiki."
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr "Адаптивный (по умолчанию)"
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr "Ручной режим экрана"
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr "Фиксированное разрешение"
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr "Спрашивать о качестве"
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr "Тест"
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr "Гарантированная длительность буфера (сек)"
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr "Максимальная длительность буфера (сек)"
-msgctxt "#30150"
-msgid "Max"
-msgstr "Макс"
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr "Игнорировать изменение разрешения экрана"
-msgctxt "#30151"
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr "Если включено, разрешение экрана (или размер окна в оконном режиме) больше не будет учитываться при выборе оптимального разрешения видеопотока во время воспроизведения."
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr "Путь к дешифратору"
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr "Авто"
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr "480p"
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr "640p"
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr "720p"
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr "1080p"
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr "Автоматически выбирать потоки"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr "2K"
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr "Выбирать все потоки вручную"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr "1440p"
-msgctxt "#30157"
-msgid "All"
-msgstr "Все"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr "4K"
-msgctxt "#30158"
-msgid "Audio"
-msgstr "Аудио"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr "Выберите видеопоток"
-msgctxt "#30159"
-msgid "Video"
-msgstr "Видео"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr "Видеопоток {codec} {quality}"
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr "Тестовый режим"
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr "Переключение между сегментами"
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr "Сегменты"
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr "Переопределить настройки"
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr "Журнал отладки"
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr "Сохранять манифесты потоков"
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr "Сохранять манифесты потока, загруженные во время воспроизведения, в папке пользовательских данных InputStream Adaptive."
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr "Сохранять данные лицензии"
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr "Сохранять данные лицензии, например: начальные данные, данные вызова и данные ответа, в папке \"cdm\" в каталоге данных Kodi."
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Мин. пропускная способность (Бит/с)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Макс. пропускная способность (Бит/с)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Путь к декодеру"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Макс. разрешение основного декодера"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Выбор потока"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Медиа"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Макс. разрешение защищенного декодера"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Переопределить статус HDCP"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Игнорировать разрешение экрана"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Включить предрелизные возможности"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "Не использовать защищеный декодер если возможно"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Макс"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "Автоматически выбирать потоки"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "Выбирать все потоки вручную"
# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr "Вручную выбрать видео поток"
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "Вручную выбрать видео поток"
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Видео + субтитры"
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Видео + субтитры"
diff --git a/inputstream.adaptive/resources/language/resource.language.scn/strings.po b/inputstream.adaptive/resources/language/resource.language.scn/strings.po
deleted file mode 100644
index c65ff004c..000000000
--- a/inputstream.adaptive/resources/language/resource.language.scn/strings.po
+++ /dev/null
@@ -1,128 +0,0 @@
-# Kodi Media Center language file
-# Addon Name: Inputstream.adaptive
-# Addon id: inputstream.adaptive
-# Addon Provider: peak3d
-msgid ""
-msgstr ""
-"Language-Team: none\n"
-"Language: scn\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-msgctxt "Addon Summary"
-msgid "InputStream client for adaptive streams"
-msgstr ""
-
-msgctxt "Addon Description"
-msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
-
-msgctxt "#30100"
-msgid "General"
-msgstr ""
-
-# The minimum bandwidth which should not be deceeded.
-msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr ""
-
-# The maximum bandwidth which should not be exceeded. 0=unlimited
-msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr ""
-
-# Absolute path to the folder containing the decrypters
-msgctxt "#30103"
-msgid "Decrypter path"
-msgstr ""
-
-# Maximum Resolution
-msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr ""
-
-msgctxt "#30112"
-msgid "Media"
-msgstr ""
-
-# Maximum allowed resolution if decoded through secure path
-msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr ""
-
-# Do not respect display resolution when selecting streams
-msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr ""
-
-msgctxt "#30120"
-msgid "Expert"
-msgstr ""
-
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr ""
-
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
-msgstr ""
-
-msgctxt "#30150"
-msgid "Max"
-msgstr ""
-
-msgctxt "#30151"
-msgid "480p"
-msgstr ""
-
-msgctxt "#30152"
-msgid "640p"
-msgstr ""
-
-msgctxt "#30153"
-msgid "720p"
-msgstr ""
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr ""
-
-msgctxt "#30155"
-msgid "Automatically select streams"
-msgstr ""
-
-msgctxt "#30156"
-msgid "Manually select all streams"
-msgstr ""
-
-msgctxt "#30157"
-msgid "All"
-msgstr ""
-
-msgctxt "#30158"
-msgid "Audio"
-msgstr ""
-
-msgctxt "#30159"
-msgid "Video"
-msgstr ""
-
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
-msgstr ""
-
-msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.si_lk/strings.po b/inputstream.adaptive/resources/language/resource.language.si_lk/strings.po
index 251d0f6ca..ea487df1c 100644
--- a/inputstream.adaptive/resources/language/resource.language.si_lk/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.si_lk/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Sinhala (Sri Lanka) \n"
"Language: si_lk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.sk_sk/strings.po b/inputstream.adaptive/resources/language/resource.language.sk_sk/strings.po
index bb1f3661f..0454f4890 100644
--- a/inputstream.adaptive/resources/language/resource.language.sk_sk/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.sk_sk/strings.po
@@ -4,13 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Last-Translator: Matej Moško \n"
-"Language-Team: Slovak\n"
-"Language: sk_SK\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Patrik Špaňo \n"
+"Language-Team: Slovak \n"
+"Language: sk_sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -20,110 +23,377 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Všeobecné"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Min. Šírka Pásma (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Max. Šírka Pásma (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Cesta k Dekóderu"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Max. Rozlíšenie Základného Dekódera"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Výber Videostreamu"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Médiá"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Max. Rozlíšenie bezpečného dekódera"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Obísť HDCP status"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Ignorovať Rozlíšenie Obrazovky"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expertné"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Povoliť Experimentálne Funkcie"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Maximum"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Všetko"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
-msgstr "Zvuk"
+msgstr "Audio"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + Titulky"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Min. Šírka Pásma (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Max. Šírka Pásma (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Cesta k Dekóderu"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Max. Rozlíšenie Základného Dekódera"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Výber Videostreamu"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Médiá"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Max. Rozlíšenie bezpečného dekódera"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Obísť HDCP status"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorovať Rozlíšenie Obrazovky"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Povoliť Experimentálne Funkcie"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Maximum"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Titulky"
diff --git a/inputstream.adaptive/resources/language/resource.language.sq_al/strings.po b/inputstream.adaptive/resources/language/resource.language.sq_al/strings.po
index 56add964f..2aadf11c5 100644
--- a/inputstream.adaptive/resources/language/resource.language.sq_al/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.sq_al/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Albanian \n"
"Language: sq_al\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.sr_rs/strings.po b/inputstream.adaptive/resources/language/resource.language.sr_rs/strings.po
index 3a6d4d6ee..50dcee151 100644
--- a/inputstream.adaptive/resources/language/resource.language.sr_rs/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.sr_rs/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Serbian \n"
"Language: sr_rs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.sr_rs@latin/strings.po b/inputstream.adaptive/resources/language/resource.language.sr_rs@latin/strings.po
index 41afbe2ae..b3be837ba 100644
--- a/inputstream.adaptive/resources/language/resource.language.sr_rs@latin/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.sr_rs@latin/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
-"Language: sr_Latn\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Serbian (Latin script) \n"
+"Language: sr_rs@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.sv_se/strings.po b/inputstream.adaptive/resources/language/resource.language.sv_se/strings.po
index 2f5d34511..6aa956b2d 100644
--- a/inputstream.adaptive/resources/language/resource.language.sv_se/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.sv_se/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: Swedish (Sweden)\n"
-"Language: sv_SE\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Swedish \n"
+"Language: sv_se\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,377 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Allmänt"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
-msgstr "Lägsta bandbredd (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
+msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
-msgstr "Högsta bandbredd (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
+msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
-msgstr "Dekrypteringssökväg"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
+msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr "Högsta upplösning för allmän avkodare"
-
-msgctxt "#30111"
-msgid "Stream Selection"
-msgstr "Strömval"
+msgid "Maximum resolution"
+msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
-msgstr "Media"
+msgid "Type of media streams played"
+msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr "Högsta upplösning för säker avkodare"
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
-msgstr "Åsidosätt HDCP-status"
+msgid "Maximum resolution for DRM videos"
+msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
-msgstr "Ignorera skärmupplösningen"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr "Expert"
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
-msgstr "Aktivera förhandsutgivningsfunktioner"
-
+# empty string with id 30121
msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Högsta"
-
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
-
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
-
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Alla"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Ljud"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + Undertexter"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "Lägsta bandbredd (Bit/s)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "Högsta bandbredd (Bit/s)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "Dekrypteringssökväg"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "Högsta upplösning för allmän avkodare"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "Strömval"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "Media"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "Högsta upplösning för säker avkodare"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "Åsidosätt HDCP-status"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "Ignorera skärmupplösningen"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "Aktivera förhandsutgivningsfunktioner"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Högsta"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Undertexter"
diff --git a/inputstream.adaptive/resources/language/resource.language.szl/strings.po b/inputstream.adaptive/resources/language/resource.language.szl/strings.po
index f3e3f9189..8963d1834 100644
--- a/inputstream.adaptive/resources/language/resource.language.szl/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.szl/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Silesian \n"
"Language: szl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.ta_in/strings.po b/inputstream.adaptive/resources/language/resource.language.ta_in/strings.po
index 3372625bc..9d04afed1 100644
--- a/inputstream.adaptive/resources/language/resource.language.ta_in/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.ta_in/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Tamil (India) \n"
"Language: ta_in\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.tg_tj/strings.po b/inputstream.adaptive/resources/language/resource.language.tg_tj/strings.po
index bf2252e22..35bcc76ae 100644
--- a/inputstream.adaptive/resources/language/resource.language.tg_tj/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.tg_tj/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Tajik \n"
"Language: tg_tj\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.th_th/strings.po b/inputstream.adaptive/resources/language/resource.language.th_th/strings.po
index f9d41c5bf..477e11411 100644
--- a/inputstream.adaptive/resources/language/resource.language.th_th/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.th_th/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Thai \n"
"Language: th_th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.tr_tr/strings.po b/inputstream.adaptive/resources/language/resource.language.tr_tr/strings.po
index a3ebbe766..d916b2fdd 100644
--- a/inputstream.adaptive/resources/language/resource.language.tr_tr/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.tr_tr/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:09+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Turkish \n"
"Language: tr_tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.uk_ua/strings.po b/inputstream.adaptive/resources/language/resource.language.uk_ua/strings.po
index e53a4cb12..9779c6149 100644
--- a/inputstream.adaptive/resources/language/resource.language.uk_ua/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.uk_ua/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Ukrainian \n"
"Language: uk_ua\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.uz_uz/strings.po b/inputstream.adaptive/resources/language/resource.language.uz_uz/strings.po
index a0da07881..ef9d712e9 100644
--- a/inputstream.adaptive/resources/language/resource.language.uz_uz/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.uz_uz/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Uzbek \n"
"Language: uz_uz\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/inputstream.adaptive/resources/language/resource.language.vi_vn/strings.po b/inputstream.adaptive/resources/language/resource.language.vi_vn/strings.po
index 6cf39d7c3..6c486bf29 100644
--- a/inputstream.adaptive/resources/language/resource.language.vi_vn/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.vi_vn/strings.po
@@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
-"PO-Revision-Date: 2021-08-16 15:29+0000\n"
-"Last-Translator: Nguyễn Trung Hậu \n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
"Language-Team: Vietnamese \n"
"Language: vi_vn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -23,111 +23,330 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr "Chung"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
msgstr ""
-msgctxt "#30120"
-msgid "Expert"
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+msgctxt "#30117"
+msgid "Manual stream selection mode"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
-msgctxt "#30150"
-msgid "Max"
-msgstr "Tối đa"
-
-#, fuzzy
-msgctxt "#30151"
-msgid "480p"
-msgstr "480p"
-
-msgctxt "#30152"
-msgid "640p"
-msgstr "640p"
-
-msgctxt "#30153"
-msgid "720p"
-msgstr "720p"
+#. Category title
+msgctxt "#30120"
+msgid "Expert"
+msgstr ""
-msgctxt "#30154"
-msgid "1080p"
-msgstr "1080p"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
+msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
msgctxt "#30156"
-msgid "Manually select all streams"
+msgid "Audio / Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30157"
msgid "All"
msgstr "Tất cả"
+#. Item list value of setting with label #30112
msgctxt "#30158"
msgid "Audio"
msgstr "Âm thanh"
+#. Item list value of setting with label #30112
msgctxt "#30159"
msgid "Video"
msgstr "Video"
-# Show all video streams
+#. Item list value of setting with label #30117
msgctxt "#30160"
-msgid "Manually select video stream"
+msgid "Video streams"
msgstr ""
+#. Item list value of setting with label #30112
msgctxt "#30161"
-msgid "Video + Subtitles"
-msgstr "Video + Phụ đề"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
+msgid "480p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
+msgid "640p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
+msgid "720p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
+msgid "1080p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
+msgstr ""
+
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
+msgstr ""
+
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
+msgstr ""
+
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
+msgstr ""
+
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "Tối đa"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "Video + Phụ đề"
diff --git a/inputstream.adaptive/resources/language/resource.language.zh_cn/strings.po b/inputstream.adaptive/resources/language/resource.language.zh_cn/strings.po
index 4301a6e63..4800b63b7 100644
--- a/inputstream.adaptive/resources/language/resource.language.zh_cn/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.zh_cn/strings.po
@@ -4,125 +4,413 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: taxigps \n"
+"Language-Team: Chinese (China) \n"
"Language: zh_cn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
-msgstr ""
+msgstr "用于自适应流的 InputStream 客户端"
msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
-msgstr ""
+msgstr "用于自适应流的 InputStream 客户端"
+#. Category title
msgctxt "#30100"
msgid "General"
-msgstr ""
+msgstr "常规"
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
+msgstr ""
+
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
msgstr ""
+#. Category title
msgctxt "#30120"
msgid "Expert"
+msgstr "专家"
+
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr "全部"
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr "音频"
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr "视频"
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
+msgstr ""
+
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
+msgstr ""
+
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
msgstr ""
-msgctxt "#30151"
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
+msgstr ""
+
+# The minimum bandwidth which should not be deceeded.
+#~ msgctxt "#30101"
+#~ msgid "Min. Bandwidth (Bit/s)"
+#~ msgstr "最小带宽(位/秒)"
+
+# The maximum bandwidth which should not be exceeded. 0=unlimited
+#~ msgctxt "#30102"
+#~ msgid "Max. Bandwidth (Bit/s)"
+#~ msgstr "最大带宽(位/秒)"
+
+# Absolute path to the folder containing the decrypters
+#~ msgctxt "#30103"
+#~ msgid "Decrypter path"
+#~ msgstr "解密程序路径"
+
+# Maximum Resolution
+#~ msgctxt "#30110"
+#~ msgid "Max. Resolution general decoder"
+#~ msgstr "最大分辨率通用解码器"
+
+#~ msgctxt "#30111"
+#~ msgid "Stream Selection"
+#~ msgstr "流选择"
+
+#~ msgctxt "#30112"
+#~ msgid "Media"
+#~ msgstr "媒体"
+
+# Maximum allowed resolution if decoded through secure path
+#~ msgctxt "#30113"
+#~ msgid "Max. Resolution secure decoder"
+#~ msgstr "最大分辨率安全解码器"
+
+# Select streams without respecting HDCP status
+#~ msgctxt "#30114"
+#~ msgid "Override HDCP status"
+#~ msgstr "覆盖 HDCP 状态"
+
+# Do not respect display resolution when selecting streams
+#~ msgctxt "#30115"
+#~ msgid "Ignore Display Resolution"
+#~ msgstr "忽略显示分辨率"
+
+#~ msgctxt "#30121"
+#~ msgid "Enable Pre-Release Features"
+#~ msgstr "启用预发布功能"
+
+#~ msgctxt "#30122"
+#~ msgid "Don't use secure decoder if possible"
+#~ msgstr "尽可能不使用安全解码器"
+
+#~ msgctxt "#30150"
+#~ msgid "Max"
+#~ msgstr "大"
+
+#~ msgctxt "#30151"
+#~ msgid "480p"
+#~ msgstr "480p"
+
+#~ msgctxt "#30152"
+#~ msgid "640p"
+#~ msgstr "640p"
+
+#~ msgctxt "#30153"
+#~ msgid "720p"
+#~ msgstr "720p"
+
+#~ msgctxt "#30154"
+#~ msgid "1080p"
+#~ msgstr "1080p"
+
+#~ msgctxt "#30155"
+#~ msgid "Automatically select streams"
+#~ msgstr "自动选择流"
+
+#~ msgctxt "#30156"
+#~ msgid "Manually select all streams"
+#~ msgstr "手动选择所有流"
+
+# Show all video streams
+#~ msgctxt "#30160"
+#~ msgid "Manually select video stream"
+#~ msgstr "手动选择视频流"
+
+#~ msgctxt "#30161"
+#~ msgid "Video + Subtitles"
+#~ msgstr "视频 + 字幕"
diff --git a/inputstream.adaptive/resources/language/resource.language.zh_tw/strings.po b/inputstream.adaptive/resources/language/resource.language.zh_tw/strings.po
index fff412820..bba5831d2 100644
--- a/inputstream.adaptive/resources/language/resource.language.zh_tw/strings.po
+++ b/inputstream.adaptive/resources/language/resource.language.zh_tw/strings.po
@@ -4,12 +4,16 @@
# Addon Provider: peak3d
msgid ""
msgstr ""
-"Language-Team: none\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"PO-Revision-Date: 2025-01-17 02:10+0000\n"
+"Last-Translator: Anonymous \n"
+"Language-Team: Chinese (Taiwan) \n"
"Language: zh_tw\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.9.2\n"
msgctxt "Addon Summary"
msgid "InputStream client for adaptive streams"
@@ -19,110 +23,306 @@ msgctxt "Addon Description"
msgid "InputStream client for adaptive streams. Common streaming protocols such as MPEG-DASH, HLS and Microsoft Smooth Streaming are supported.[CR][CR]The add-on also has support for DRM protected streams, such as Google Widevine, Microsoft PlayReady and others.[CR][CR]For documentation visit: https://github.com/xbmc/inputstream.adaptive"
msgstr ""
+#. Category title
msgctxt "#30100"
msgid "General"
msgstr ""
-# The minimum bandwidth which should not be deceeded.
+#. The minimum bandwidth which should not be deceeded
msgctxt "#30101"
-msgid "Min. Bandwidth (Bit/s)"
+msgid "Minimum bandwidth (Kbps)"
msgstr ""
-# The maximum bandwidth which should not be exceeded. 0=unlimited
+#. The maximum bandwidth which should not be exceeded
msgctxt "#30102"
-msgid "Max. Bandwidth (Bit/s)"
+msgid "Maximum bandwidth (Kbps)"
msgstr ""
-# Absolute path to the folder containing the decrypters
+#. Description of setting with label #30101, 30102
msgctxt "#30103"
-msgid "Decrypter path"
+msgid "Establishes the bandwidth limit not to be exceeded with the audio / video streams. Set to 0 to disable it."
msgstr ""
-# Maximum Resolution
+# empty strings from id 30104 to 30109
+#. Maximum video resolution non-protected videos
msgctxt "#30110"
-msgid "Max. Resolution general decoder"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Stream Selection"
+msgid "Maximum resolution"
msgstr ""
+# empty string with id 30111
+#. Type of media streams that will be handled for the playback
msgctxt "#30112"
-msgid "Media"
+msgid "Type of media streams played"
msgstr ""
-# Maximum allowed resolution if decoded through secure path
+#. Maximum video resolution for DRM-protected videos
msgctxt "#30113"
-msgid "Max. Resolution secure decoder"
-msgstr ""
-
-# Select streams without respecting HDCP status
-msgctxt "#30114"
-msgid "Override HDCP status"
+msgid "Maximum resolution for DRM videos"
msgstr ""
+# empty string with id 30114
# Do not respect display resolution when selecting streams
msgctxt "#30115"
-msgid "Ignore Display Resolution"
+msgid "Ignore screen resolution"
+msgstr ""
+
+#. Description of setting with label #30115
+msgctxt "#30116"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution when video starts and while in playback."
msgstr ""
+msgctxt "#30117"
+msgid "Manual stream selection mode"
+msgstr ""
+
+#. Description of setting with label #30117
+msgctxt "#30118"
+msgid "Defines which type of streams to make available for manual selection on Kodi OSD settings during playback."
+msgstr ""
+
+#. Category title
msgctxt "#30120"
msgid "Expert"
msgstr ""
-msgctxt "#30121"
-msgid "Enable Pre-Release Features"
+# empty string with id 30121
+msgctxt "#30122"
+msgid "Try avoiding the use of secure decoder"
msgstr ""
-msgctxt "#30122"
-msgid "Don't use secure decoder if possible"
+#. Description of setting with label #30122
+msgctxt "#30123"
+msgid "Some Android devices defined as Widevine L1, may not work properly, which may result in a black screen during playback. In this case try to enable it."
+msgstr ""
+
+# empty strings from id 30124 to 30155
+#. Item list value of setting with label #30117
+msgctxt "#30156"
+msgid "Audio / Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30157"
+msgid "All"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30158"
+msgid "Audio"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30159"
+msgid "Video"
+msgstr ""
+
+#. Item list value of setting with label #30117
+msgctxt "#30160"
+msgid "Video streams"
+msgstr ""
+
+#. Item list value of setting with label #30112
+msgctxt "#30161"
+msgid "Video / Subtitles"
+msgstr ""
+
+#. Category group title
+msgctxt "#30162"
+msgid "Adaptive stream"
+msgstr ""
+
+# empty strings from id 30163 to 30165
+#. Category group title
+msgctxt "#30166"
+msgid "DRM Widevine"
+msgstr ""
+
+msgctxt "#30167"
+msgid "WARNING: This is a TEST feature, may not work appropriately and may change on future versions."
+msgstr ""
+
+msgctxt "#30168"
+msgid "Auto determines initial bandwidth"
+msgstr ""
+
+#. Description of setting with label #30168
+msgctxt "#30169"
+msgid "If enabled, the bandwidth will be determined by the first download, however it may not be accurate. If the video quality at the start of playback is too low try disabling it."
+msgstr ""
+
+msgctxt "#30170"
+msgid "Initial bandwidth (Kbps)"
+msgstr ""
+
+#. Description of setting with label #30170
+msgctxt "#30171"
+msgid "Defines the initial bandwidth when it cannot be automatically determined. This value can be overridden by the minimum bandwidth setting."
+msgstr ""
+
+msgctxt "#30172"
+msgid "Ignore HDCP status"
msgstr ""
-msgctxt "#30150"
-msgid "Max"
+#. Description of setting with label #30172
+msgctxt "#30173"
+msgid "Some DRM-protected HD / UHD videos may only be played if the HDCP status is ignored."
msgstr ""
-msgctxt "#30151"
+#. To set the stream selection type (refer to RepresentationChooser's)
+msgctxt "#30174"
+msgid "Stream selection type"
+msgstr ""
+
+#. Description of setting with label #30174
+msgctxt "#30175"
+msgid "Set how the audio / video streams quality will be chosen during playback. This setting may be overridden by the video add-on used. See Wiki for more information."
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30176"
+msgid "Adaptive (default)"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30177"
+msgid "Manual OSD"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30178"
+msgid "Fixed resolution"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30179"
+msgid "Ask quality"
+msgstr ""
+
+#. Item list value of setting with label #30174
+msgctxt "#30180"
+msgid "Test"
+msgstr ""
+
+# empty strings reserved for "stream selection types" from id 30181 to 30190
+#. Assured buffer length duration (seconds)
+msgctxt "#30200"
+msgid "Assured buffer duration (sec)"
+msgstr ""
+
+#. Max buffer length duration (seconds)
+msgctxt "#30201"
+msgid "Maximum buffer duration (sec)"
+msgstr ""
+
+#. Ignore screen resolution change e.g. window resize
+msgctxt "#30202"
+msgid "Ignore screen resolution change"
+msgstr ""
+
+#. Description of setting with label #30202
+msgctxt "#30203"
+msgid "If enabled, the screen resolution (or window size when in windowed mode) will no longer be considered when selecting the best video stream resolution while in playback."
+msgstr ""
+
+#. Absolute path to the folder containing the DRM binary files
+msgctxt "#30204"
+msgid "Decrypter path"
+msgstr ""
+
+# empty strings from id 30205 to 30209
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30210"
+msgid "Auto"
+msgstr ""
+
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30211"
msgid "480p"
msgstr ""
-msgctxt "#30152"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30212"
msgid "640p"
msgstr ""
-msgctxt "#30153"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30213"
msgid "720p"
msgstr ""
-msgctxt "#30154"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30214"
msgid "1080p"
msgstr ""
-msgctxt "#30155"
-msgid "Automatically select streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30215"
+msgid "2K"
msgstr ""
-msgctxt "#30156"
-msgid "Manually select all streams"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30216"
+msgid "1440p"
msgstr ""
-msgctxt "#30157"
-msgid "All"
+#. Item list value of setting with label #30110, #30113
+msgctxt "#30217"
+msgid "4K"
msgstr ""
-msgctxt "#30158"
-msgid "Audio"
+# empty strings reserved for resolution values of id #30110, #30113, from id 30217 to 30230
+#. Dialog window to select the video stream
+msgctxt "#30231"
+msgid "Select video stream"
msgstr ""
-msgctxt "#30159"
-msgid "Video"
+#. Description of each list item in #30231 dialog window
+#. Do not translate placeholders: {codec} {quality}
+msgctxt "#30232"
+msgid "Video stream {codec} {quality}"
msgstr ""
-# Show all video streams
-msgctxt "#30160"
-msgid "Manually select video stream"
+#. Enum setting to set the test mode
+msgctxt "#30233"
+msgid "Test mode"
msgstr ""
-msgctxt "#30161"
-msgid "Video + Subtitles"
+#. Item list value of setting with label #30233
+msgctxt "#30234"
+msgid "Switch by segments"
+msgstr ""
+
+#. Stand for stream segments, referred to setting with label #30234
+msgctxt "#30235"
+msgid "Segments"
+msgstr ""
+
+#. Category group title
+msgctxt "#30236"
+msgid "Override settings"
+msgstr ""
+
+#. Category group title for debug settings
+msgctxt "#30237"
+msgid "Debug logging"
+msgstr ""
+
+#. Debug setting to save stream manifests
+msgctxt "#30238"
+msgid "Save stream manifests"
+msgstr ""
+
+#. Description of setting with label #30238
+msgctxt "#30239"
+msgid "Saves stream manifests downloaded during playback in the user data folder of InputStream Adaptive."
+msgstr ""
+
+#. Debug setting to save license data
+msgctxt "#30240"
+msgid "Save license data"
+msgstr ""
+
+#. Description of setting with label #30240
+msgctxt "#30241"
+msgid "Saves the license data for example: initial data, challenge data and response data, in the \"cdm\" folder of the Kodi data folder."
msgstr ""
diff --git a/lib/cdm/CMakeLists.txt b/lib/cdm/CMakeLists.txt
index 0f7b1fa27..814478285 100644
--- a/lib/cdm/CMakeLists.txt
+++ b/lib/cdm/CMakeLists.txt
@@ -10,6 +10,7 @@ else()
endif()
add_library(cdm_library STATIC
+ cdm/debug.cpp
cdm/base/native_library.cc
cdm/base/native_library_${CDMTYPE}
cdm/media/cdm/cdm_adapter.cc
diff --git a/lib/cdm/cdm/debug.cpp b/lib/cdm/cdm/debug.cpp
new file mode 100644
index 000000000..2449c4232
--- /dev/null
+++ b/lib/cdm/cdm/debug.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2025 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.
+ */
+
+#include "debug.h"
+
+#include
+#include
+
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
+
+struct dbgContext
+{
+ const char* name;
+ void (*msgCallback)(const CDM_DBG::LogLevel level, const char* msg);
+};
+
+dbgContext debugContext = {"WV-CDM-Library", nullptr};
+
+void CDM_DBG::Log(const CDM_DBG::LogLevel level, const char* format, ...)
+{
+ if (!debugContext.msgCallback)
+ return;
+
+ char msg[2048];
+ const int len = snprintf(msg, sizeof(msg), "[%s] ", debugContext.name);
+ if (len < 0 || len >= sizeof(msg))
+ {
+ debugContext.msgCallback(CDM_DBG::LogLevel::ERROR,
+ "Cannot print log string: Context name too long");
+ return;
+ }
+
+ va_list ap;
+ va_start(ap, format);
+ const int formattedLen = vsnprintf(msg + len, sizeof(msg) - len, format, ap);
+ va_end(ap);
+ if (formattedLen < 0 || formattedLen >= (sizeof(msg) - len))
+ {
+ debugContext.msgCallback(CDM_DBG::LogLevel::ERROR,
+ "Cannot print log string: Text content too long");
+ return;
+ }
+
+ debugContext.msgCallback(level, msg);
+}
+
+void CDM_DBG::SetDBGMsgCallback(void (*msgcb)(const CDM_DBG::LogLevel level, const char* msg))
+{
+ debugContext.msgCallback = msgcb;
+}
diff --git a/lib/cdm/cdm/debug.h b/lib/cdm/cdm/debug.h
new file mode 100644
index 000000000..175ba253e
--- /dev/null
+++ b/lib/cdm/cdm/debug.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2025 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
+
+namespace CDM_DBG
+{
+enum class LogLevel
+{
+ DEBUG,
+ INFO,
+ WARNING,
+ ERROR,
+ FATAL
+};
+
+void Log(const LogLevel level, const char* format, ...);
+#define LogF(level, format, ...) Log((level), ("%s: " format), __FUNCTION__, ##__VA_ARGS__)
+
+void SetDBGMsgCallback(void (*msgcb)(const LogLevel level, const char* msg));
+
+} // namespace cdm
diff --git a/lib/cdm/cdm/media/cdm/api/content_decryption_module.h b/lib/cdm/cdm/media/cdm/api/content_decryption_module.h
index a61d4d60c..b547204df 100644
--- a/lib/cdm/cdm/media/cdm/api/content_decryption_module.h
+++ b/lib/cdm/cdm/media/cdm/api/content_decryption_module.h
@@ -12,7 +12,6 @@
#include
#include "content_decryption_module_export.h"
-#include "content_decryption_module_proxy.h"
#if defined(_MSC_VER)
typedef unsigned char uint8_t;
@@ -51,1731 +50,1728 @@ typedef __int64 int64_t;
extern "C" {
- CDM_API void INITIALIZE_CDM_MODULE();
+CDM_API void INITIALIZE_CDM_MODULE();
- CDM_API void DeinitializeCdmModule();
+CDM_API void DeinitializeCdmModule();
- // Returns a pointer to the requested CDM Host interface upon success.
- // Returns NULL if the requested CDM Host interface is not supported.
- // The caller should cast the returned pointer to the type matching
- // |host_interface_version|.
- typedef void* (*GetCdmHostFunc)(int host_interface_version, void* user_data);
+// Returns a pointer to the requested CDM Host interface upon success.
+// Returns NULL if the requested CDM Host interface is not supported.
+// The caller should cast the returned pointer to the type matching
+// |host_interface_version|.
+typedef void* (*GetCdmHostFunc)(int host_interface_version, void* user_data);
- // Returns a pointer to the requested CDM upon success.
- // Returns NULL if an error occurs or the requested |cdm_interface_version| or
- // |key_system| is not supported or another error occurs.
- // The caller should cast the returned pointer to the type matching
- // |cdm_interface_version|.
- // Caller retains ownership of arguments and must call Destroy() on the returned
- // object.
- CDM_API void* CreateCdmInstance(int cdm_interface_version,
- const char* key_system,
- uint32_t key_system_size,
- GetCdmHostFunc get_cdm_host_func,
- void* user_data);
+// Returns a pointer to the requested CDM upon success.
+// Returns NULL if an error occurs or the requested |cdm_interface_version| or
+// |key_system| is not supported or another error occurs.
+// The caller should cast the returned pointer to the type matching
+// |cdm_interface_version|.
+// Caller retains ownership of arguments and must call Destroy() on the returned
+// object.
+CDM_API void* CreateCdmInstance(int cdm_interface_version,
+ const char* key_system,
+ uint32_t key_system_size,
+ GetCdmHostFunc get_cdm_host_func,
+ void* user_data);
- CDM_API const char* GetCdmVersion();
+CDM_API const char* GetCdmVersion();
} // extern "C"
namespace cdm {
- enum Status : uint32_t {
- kSuccess = 0,
- kNeedMoreData, // Decoder needs more data to produce a decoded frame/sample.
- kNoKey, // The required decryption key is not available.
- kInitializationError, // Initialization error.
- kDecryptError, // Decryption failed.
- kDecodeError, // Error decoding audio or video.
- kDeferredInitialization // Decoder is not ready for initialization.
- };
- CHECK_TYPE(Status, 4, 4);
-
- // Exceptions used by the CDM to reject promises.
- // https://w3c.github.io/encrypted-media/#exceptions
- enum Exception : uint32_t {
- kExceptionTypeError,
- kExceptionNotSupportedError,
- kExceptionInvalidStateError,
- kExceptionQuotaExceededError
- };
- CHECK_TYPE(Exception, 4, 4);
-
- // The encryption scheme. The definitions are from ISO/IEC 23001-7:2016.
- enum class EncryptionScheme : uint32_t {
- kUnencrypted = 0,
- kCenc, // 'cenc' subsample encryption using AES-CTR mode.
- kCbcs // 'cbcs' pattern encryption using AES-CBC mode.
- };
- CHECK_TYPE(EncryptionScheme, 4, 4);
-
- // The pattern used for pattern encryption. Note that ISO/IEC 23001-7:2016
- // defines each block to be 16-bytes.
- struct Pattern {
- uint32_t crypt_byte_block; // Count of the encrypted blocks.
- uint32_t skip_byte_block; // Count of the unencrypted blocks.
- };
- CHECK_TYPE(Pattern, 8, 8);
-
- enum class ColorRange : uint8_t {
- kInvalid,
- kLimited, // 709 color range with RGB values ranging from 16 to 235.
- kFull, // Full RGB color range with RGB values from 0 to 255.
- kDerived // Range is defined by |transfer_id| and |matrix_id|.
- };
- CHECK_TYPE(ColorRange, 1, 1);
-
- // Described in ISO 23001-8:2016, section 7. All the IDs are in the range
- // [0, 255] so 8-bit integer is sufficient. An unspecified ColorSpace should be
- // {2, 2, 2, ColorRange::kInvalid}, where value 2 means "Unspecified" for all
- // the IDs, as defined by the spec.
- struct ColorSpace {
- uint8_t primary_id; // 7.1 colour primaries, table 2
- uint8_t transfer_id; // 7.2 transfer characteristics, table 3
- uint8_t matrix_id; // 7.3 matrix coefficients, table 4
- ColorRange range;
- };
- CHECK_TYPE(ColorSpace, 4, 4);
-
- // Time is defined as the number of seconds since the Epoch
- // (00:00:00 UTC, January 1, 1970), not including any added leap second.
- // Also see Time definition in spec: https://w3c.github.io/encrypted-media/#time
- // Note that Time is defined in millisecond accuracy in the spec but in second
- // accuracy here.
- typedef double Time;
-
- // An input buffer can be split into several continuous subsamples.
- // A SubsampleEntry specifies the number of clear and cipher bytes in each
- // subsample. For example, the following buffer has three subsamples:
+enum Status : uint32_t {
+ kSuccess = 0,
+ kNeedMoreData, // Decoder needs more data to produce a decoded frame/sample.
+ kNoKey, // The required decryption key is not available.
+ kInitializationError, // Initialization error.
+ kDecryptError, // Decryption failed.
+ kDecodeError, // Error decoding audio or video.
+ kDeferredInitialization // Decoder is not ready for initialization.
+};
+CHECK_TYPE(Status, 4, 4);
+
+// Exceptions used by the CDM to reject promises.
+// https://w3c.github.io/encrypted-media/#exceptions
+enum Exception : uint32_t {
+ kExceptionTypeError,
+ kExceptionNotSupportedError,
+ kExceptionInvalidStateError,
+ kExceptionQuotaExceededError
+};
+CHECK_TYPE(Exception, 4, 4);
+
+// The encryption scheme. The definitions are from ISO/IEC 23001-7:2016.
+enum class EncryptionScheme : uint32_t {
+ kUnencrypted = 0,
+ kCenc, // 'cenc' subsample encryption using AES-CTR mode.
+ kCbcs // 'cbcs' pattern encryption using AES-CBC mode.
+};
+CHECK_TYPE(EncryptionScheme, 4, 4);
+
+// The pattern used for pattern encryption. Note that ISO/IEC 23001-7:2016
+// defines each block to be 16-bytes.
+struct Pattern {
+ uint32_t crypt_byte_block; // Count of the encrypted blocks.
+ uint32_t skip_byte_block; // Count of the unencrypted blocks.
+};
+CHECK_TYPE(Pattern, 8, 8);
+
+enum class ColorRange : uint8_t {
+ kInvalid,
+ kLimited, // 709 color range with RGB values ranging from 16 to 235.
+ kFull, // Full RGB color range with RGB values from 0 to 255.
+ kDerived // Range is defined by |transfer_id| and |matrix_id|.
+};
+CHECK_TYPE(ColorRange, 1, 1);
+
+// Described in ISO 23001-8:2016, section 7. All the IDs are in the range
+// [0, 255] so 8-bit integer is sufficient. An unspecified ColorSpace should be
+// {2, 2, 2, ColorRange::kInvalid}, where value 2 means "Unspecified" for all
+// the IDs, as defined by the spec.
+struct ColorSpace {
+ uint8_t primary_id; // 7.1 colour primaries, table 2
+ uint8_t transfer_id; // 7.2 transfer characteristics, table 3
+ uint8_t matrix_id; // 7.3 matrix coefficients, table 4
+ ColorRange range;
+};
+CHECK_TYPE(ColorSpace, 4, 4);
+
+// Time is defined as the number of seconds since the Epoch
+// (00:00:00 UTC, January 1, 1970), not including any added leap second.
+// Also see Time definition in spec: https://w3c.github.io/encrypted-media/#time
+// Note that Time is defined in millisecond accuracy in the spec but in second
+// accuracy here.
+typedef double Time;
+
+// An input buffer can be split into several continuous subsamples.
+// A SubsampleEntry specifies the number of clear and cipher bytes in each
+// subsample. For example, the following buffer has three subsamples:
+//
+// |<----- subsample1 ----->|<----- subsample2 ----->|<----- subsample3 ----->|
+// | clear1 | cipher1 | clear2 | cipher2 | clear3 | cipher3 |
+//
+// For decryption, all of the cipher bytes in a buffer should be concatenated
+// (in the subsample order) into a single logical stream. The clear bytes should
+// not be considered as part of decryption.
+//
+// Stream to decrypt: | cipher1 | cipher2 | cipher3 |
+// Decrypted stream: | decrypted1| decrypted2 | decrypted3 |
+//
+// After decryption, the decrypted bytes should be copied over the position
+// of the corresponding cipher bytes in the original buffer to form the output
+// buffer. Following the above example, the decrypted buffer should be:
+//
+// |<----- subsample1 ----->|<----- subsample2 ----->|<----- subsample3 ----->|
+// | clear1 | decrypted1| clear2 | decrypted2 | clear3 | decrypted3 |
+//
+struct SubsampleEntry {
+ uint32_t clear_bytes;
+ uint32_t cipher_bytes;
+};
+CHECK_TYPE(SubsampleEntry, 8, 8);
+
+// Represents an input buffer to be decrypted (and possibly decoded). It does
+// not own any pointers in this struct. If |encryption_scheme| = kUnencrypted,
+// the data is unencrypted.
+// Note that this struct is organized so that sizeof(InputBuffer_2)
+// equals the sum of sizeof() all members in both 32-bit and 64-bit compiles.
+// Padding has been added to keep the fields aligned.
+struct InputBuffer_2 {
+ const uint8_t* data; // Pointer to the beginning of the input data.
+ uint32_t data_size; // Size (in bytes) of |data|.
+
+ EncryptionScheme encryption_scheme;
+
+ const uint8_t* key_id; // Key ID to identify the decryption key.
+ uint32_t key_id_size; // Size (in bytes) of |key_id|.
+ uint32_t : 32; // Padding.
+
+ const uint8_t* iv; // Initialization vector.
+ uint32_t iv_size; // Size (in bytes) of |iv|.
+ uint32_t : 32; // Padding.
+
+ const struct SubsampleEntry* subsamples;
+ uint32_t num_subsamples; // Number of subsamples in |subsamples|.
+ uint32_t : 32; // Padding.
+
+ // |pattern| is required if |encryption_scheme| specifies pattern encryption.
+ Pattern pattern;
+
+ int64_t timestamp; // Presentation timestamp in microseconds.
+};
+CHECK_TYPE(InputBuffer_2, 64, 80);
+
+enum AudioCodec : uint32_t { kUnknownAudioCodec = 0, kCodecVorbis, kCodecAac };
+CHECK_TYPE(AudioCodec, 4, 4);
+
+struct AudioDecoderConfig_2 {
+ AudioCodec codec;
+ int32_t channel_count;
+ int32_t bits_per_channel;
+ int32_t samples_per_second;
+
+ // Optional byte data required to initialize audio decoders, such as the
+ // vorbis setup header.
+ uint8_t* extra_data;
+ uint32_t extra_data_size;
+
+ // Encryption scheme.
+ EncryptionScheme encryption_scheme;
+};
+CHECK_TYPE(AudioDecoderConfig_2, 28, 32);
+
+// Supported sample formats for AudioFrames.
+enum AudioFormat : uint32_t {
+ kUnknownAudioFormat = 0, // Unknown format value. Used for error reporting.
+ kAudioFormatU8, // Interleaved unsigned 8-bit w/ bias of 128.
+ kAudioFormatS16, // Interleaved signed 16-bit.
+ kAudioFormatS32, // Interleaved signed 32-bit.
+ kAudioFormatF32, // Interleaved float 32-bit.
+ kAudioFormatPlanarS16, // Signed 16-bit planar.
+ kAudioFormatPlanarF32, // Float 32-bit planar.
+};
+CHECK_TYPE(AudioFormat, 4, 4);
+
+// Surface formats based on FOURCC labels, see: http://www.fourcc.org/yuv.php
+// Values are chosen to be consistent with Chromium's VideoPixelFormat values.
+enum VideoFormat : uint32_t {
+ kUnknownVideoFormat = 0, // Unknown format value. Used for error reporting.
+ kYv12 = 1, // 12bpp YVU planar 1x1 Y, 2x2 VU samples.
+ kI420 = 2, // 12bpp YUV planar 1x1 Y, 2x2 UV samples.
+
+ // In the following formats, each sample uses 16-bit in storage, while the
+ // sample value is stored in the least significant N bits where N is
+ // specified by the number after "P". For example, for YUV420P9, each Y, U,
+ // and V sample is stored in the least significant 9 bits in a 2-byte block.
+ kYUV420P9 = 16,
+ kYUV420P10 = 17,
+ kYUV422P9 = 18,
+ kYUV422P10 = 19,
+ kYUV444P9 = 20,
+ kYUV444P10 = 21,
+ kYUV420P12 = 22,
+ kYUV422P12 = 23,
+ kYUV444P12 = 24,
+};
+CHECK_TYPE(VideoFormat, 4, 4);
+
+struct Size {
+ int32_t width;
+ int32_t height;
+};
+CHECK_TYPE(Size, 8, 8);
+
+enum VideoCodec : uint32_t {
+ kUnknownVideoCodec = 0,
+ kCodecVp8,
+ kCodecH264,
+ kCodecVp9,
+ kCodecAv1
+};
+CHECK_TYPE(VideoCodec, 4, 4);
+
+enum VideoCodecProfile : uint32_t {
+ kUnknownVideoCodecProfile = 0,
+ kProfileNotNeeded,
+ kH264ProfileBaseline,
+ kH264ProfileMain,
+ kH264ProfileExtended,
+ kH264ProfileHigh,
+ kH264ProfileHigh10,
+ kH264ProfileHigh422,
+ kH264ProfileHigh444Predictive,
+ kVP9Profile0,
+ kVP9Profile1,
+ kVP9Profile2,
+ kVP9Profile3,
+ kAv1ProfileMain,
+ kAv1ProfileHigh,
+ kAv1ProfilePro
+};
+CHECK_TYPE(VideoCodecProfile, 4, 4);
+
+// Deprecated: New CDM implementations should use VideoDecoderConfig_3.
+// Note that this struct is organized so that sizeof(VideoDecoderConfig_2)
+// equals the sum of sizeof() all members in both 32-bit and 64-bit compiles.
+// Padding has been added to keep the fields aligned.
+struct VideoDecoderConfig_2 {
+ VideoCodec codec;
+ VideoCodecProfile profile;
+ VideoFormat format;
+ uint32_t : 32; // Padding.
+
+ // Width and height of video frame immediately post-decode. Not all pixels
+ // in this region are valid.
+ Size coded_size;
+
+ // Optional byte data required to initialize video decoders, such as H.264
+ // AAVC data.
+ uint8_t* extra_data;
+ uint32_t extra_data_size;
+
+ // Encryption scheme.
+ EncryptionScheme encryption_scheme;
+};
+CHECK_TYPE(VideoDecoderConfig_2, 36, 40);
+
+struct VideoDecoderConfig_3 {
+ VideoCodec codec;
+ VideoCodecProfile profile;
+ VideoFormat format;
+ ColorSpace color_space;
+
+ // Width and height of video frame immediately post-decode. Not all pixels
+ // in this region are valid.
+ Size coded_size;
+
+ // Optional byte data required to initialize video decoders, such as H.264
+ // AAVC data.
+ uint8_t* extra_data;
+ uint32_t extra_data_size;
+
+ EncryptionScheme encryption_scheme;
+};
+CHECK_TYPE(VideoDecoderConfig_3, 36, 40);
+
+enum StreamType : uint32_t { kStreamTypeAudio = 0, kStreamTypeVideo = 1 };
+CHECK_TYPE(StreamType, 4, 4);
+
+// Structure provided to ContentDecryptionModule::OnPlatformChallengeResponse()
+// after a platform challenge was initiated via Host::SendPlatformChallenge().
+// All values will be NULL / zero in the event of a challenge failure.
+struct PlatformChallengeResponse {
+ // |challenge| provided during Host::SendPlatformChallenge() combined with
+ // nonce data and signed with the platform's private key.
+ const uint8_t* signed_data;
+ uint32_t signed_data_length;
+
+ // RSASSA-PKCS1-v1_5-SHA256 signature of the |signed_data| block.
+ const uint8_t* signed_data_signature;
+ uint32_t signed_data_signature_length;
+
+ // X.509 device specific certificate for the |service_id| requested.
+ const uint8_t* platform_key_certificate;
+ uint32_t platform_key_certificate_length;
+};
+CHECK_TYPE(PlatformChallengeResponse, 24, 48);
+
+// The current status of the associated key. The valid types are defined in the
+// spec: https://w3c.github.io/encrypted-media/#dom-mediakeystatus
+enum KeyStatus : uint32_t {
+ kUsable = 0,
+ kInternalError = 1,
+ kExpired = 2,
+ kOutputRestricted = 3,
+ kOutputDownscaled = 4,
+ kStatusPending = 5,
+ kReleased = 6
+};
+CHECK_TYPE(KeyStatus, 4, 4);
+
+// The current status of the associated key. The valid types are defined in the
+// spec: https://w3c.github.io/encrypted-media/#dom-mediakeystatus
+// Note: For forward compatibility, Host implementations must gracefully handle
+// unexpected (new) enum values, e.g. no-op. This is used by the CDM Interfaces
+// starting from CDM_12.
+enum class KeyStatus_2 : uint32_t {
+ kUsable = 0,
+ kInternalError = 1,
+ kExpired = 2,
+ kOutputRestricted = 3,
+ kOutputDownscaled = 4,
+ kStatusPending = 5,
+ kReleased = 6,
+ kUsableInFuture = 7
+};
+CHECK_TYPE(KeyStatus_2, 4, 4);
+
+// Used when passing arrays of key information. Does not own the referenced
+// data. |system_code| is an additional error code for unusable keys and
+// should be 0 when |status| == kUsable.
+struct KeyInformation {
+ const uint8_t* key_id;
+ uint32_t key_id_size;
+ KeyStatus status;
+ uint32_t system_code;
+};
+CHECK_TYPE(KeyInformation, 16, 24);
+
+// Used when passing arrays of key information. Does not own the referenced
+// data. |system_code| is an additional error code for unusable keys and
+// should be 0 when |status| == kUsable. Used by CDM12 and beyond.
+struct KeyInformation_2 {
+ const uint8_t* key_id;
+ uint32_t key_id_size;
+ KeyStatus_2 status;
+ uint32_t system_code;
+};
+CHECK_TYPE(KeyInformation_2, 16, 24);
+
+// Supported output protection methods for use with EnableOutputProtection() and
+// returned by OnQueryOutputProtectionStatus().
+enum OutputProtectionMethods : uint32_t {
+ kProtectionNone = 0,
+ kProtectionHDCP = 1 << 0
+};
+CHECK_TYPE(OutputProtectionMethods, 4, 4);
+
+// Connected output link types returned by OnQueryOutputProtectionStatus().
+enum OutputLinkTypes : uint32_t {
+ kLinkTypeNone = 0,
+ kLinkTypeUnknown = 1 << 0,
+ kLinkTypeInternal = 1 << 1,
+ kLinkTypeVGA = 1 << 2,
+ kLinkTypeHDMI = 1 << 3,
+ kLinkTypeDVI = 1 << 4,
+ kLinkTypeDisplayPort = 1 << 5,
+ kLinkTypeNetwork = 1 << 6
+};
+CHECK_TYPE(OutputLinkTypes, 4, 4);
+
+// Result of the QueryOutputProtectionStatus() call.
+enum QueryResult : uint32_t { kQuerySucceeded = 0, kQueryFailed };
+CHECK_TYPE(QueryResult, 4, 4);
+
+// The Initialization Data Type. The valid types are defined in the spec:
+// https://w3c.github.io/encrypted-media/format-registry/initdata/index.html#registry
+enum InitDataType : uint32_t { kCenc = 0, kKeyIds = 1, kWebM = 2 };
+CHECK_TYPE(InitDataType, 4, 4);
+
+// The type of session to create. The valid types are defined in the spec:
+// https://w3c.github.io/encrypted-media/#dom-mediakeysessiontype
+enum SessionType : uint32_t {
+ kTemporary = 0,
+ kPersistentLicense = 1
+};
+CHECK_TYPE(SessionType, 4, 4);
+
+// The type of the message event. The valid types are defined in the spec:
+// https://w3c.github.io/encrypted-media/#dom-mediakeymessagetype
+enum MessageType : uint32_t {
+ kLicenseRequest = 0,
+ kLicenseRenewal = 1,
+ kLicenseRelease = 2,
+ kIndividualizationRequest = 3
+};
+CHECK_TYPE(MessageType, 4, 4);
+
+enum HdcpVersion : uint32_t {
+ kHdcpVersionNone,
+ kHdcpVersion1_0,
+ kHdcpVersion1_1,
+ kHdcpVersion1_2,
+ kHdcpVersion1_3,
+ kHdcpVersion1_4,
+ kHdcpVersion2_0,
+ kHdcpVersion2_1,
+ kHdcpVersion2_2,
+ kHdcpVersion2_3
+};
+CHECK_TYPE(HdcpVersion, 4, 4);
+
+struct Policy {
+ HdcpVersion min_hdcp_version;
+};
+CHECK_TYPE(Policy, 4, 4);
+
+// Represents a buffer created by Allocator implementations.
+class CDM_CLASS_API Buffer {
+ public:
+ // Destroys the buffer in the same context as it was created.
+ virtual void Destroy() = 0;
+
+ virtual uint32_t Capacity() const = 0;
+ virtual uint8_t* Data() = 0;
+ virtual void SetSize(uint32_t size) = 0;
+ virtual uint32_t Size() const = 0;
+
+ protected:
+ Buffer() {}
+ virtual ~Buffer() {}
+
+ private:
+ Buffer(const Buffer&);
+ void operator=(const Buffer&);
+};
+
+// Represents a decrypted block that has not been decoded.
+class CDM_CLASS_API DecryptedBlock {
+ public:
+ virtual void SetDecryptedBuffer(Buffer* buffer) = 0;
+ virtual Buffer* DecryptedBuffer() = 0;
+
+ // TODO(tomfinegan): Figure out if timestamp is really needed. If it is not,
+ // we can just pass Buffer pointers around.
+ virtual void SetTimestamp(int64_t timestamp) = 0;
+ virtual int64_t Timestamp() const = 0;
+
+ protected:
+ DecryptedBlock() {}
+ virtual ~DecryptedBlock() {}
+};
+
+// This intentionally avoids using an enum, since it will be used to do math
+// with other enums, which is deprecated in C++20.
+using VideoPlane = uint32_t;
+constexpr VideoPlane kYPlane = 0;
+constexpr VideoPlane kUPlane = 1;
+constexpr VideoPlane kVPlane = 2;
+constexpr VideoPlane kMaxPlanes = 3;
+CHECK_TYPE(VideoPlane, 4, 4);
+
+class CDM_CLASS_API VideoFrame {
+ public:
+ virtual void SetFormat(VideoFormat format) = 0;
+ virtual VideoFormat Format() const = 0;
+
+ virtual void SetSize(cdm::Size size) = 0;
+ virtual cdm::Size Size() const = 0;
+
+ virtual void SetFrameBuffer(Buffer* frame_buffer) = 0;
+ virtual Buffer* FrameBuffer() = 0;
+
+ virtual void SetPlaneOffset(VideoPlane plane, uint32_t offset) = 0;
+ virtual uint32_t PlaneOffset(VideoPlane plane) = 0;
+
+ virtual void SetStride(VideoPlane plane, uint32_t stride) = 0;
+ virtual uint32_t Stride(VideoPlane plane) = 0;
+
+ // Sets and gets the presentation timestamp which is in microseconds.
+ virtual void SetTimestamp(int64_t timestamp) = 0;
+ virtual int64_t Timestamp() const = 0;
+
+ protected:
+ VideoFrame() {}
+ virtual ~VideoFrame() {}
+};
+
+// Represents a decoded video frame. The CDM should call the interface methods
+// to set the frame attributes. See DecryptAndDecodeFrame().
+class CDM_CLASS_API VideoFrame_2 {
+ public:
+ virtual void SetFormat(VideoFormat format) = 0;
+ virtual void SetSize(cdm::Size size) = 0;
+ virtual void SetFrameBuffer(Buffer* frame_buffer) = 0;
+ virtual void SetPlaneOffset(VideoPlane plane, uint32_t offset) = 0;
+ virtual void SetStride(VideoPlane plane, uint32_t stride) = 0;
+ // Sets the presentation timestamp which is in microseconds.
+ virtual void SetTimestamp(int64_t timestamp) = 0;
+ virtual void SetColorSpace(ColorSpace color_space) = 0;
+
+ protected:
+ VideoFrame_2() {}
+ virtual ~VideoFrame_2() {}
+};
+
+// Represents decrypted and decoded audio frames. AudioFrames can contain
+// multiple audio output buffers, which are serialized into this format:
+//
+// |<------------------- serialized audio buffer ------------------->|
+// | int64_t timestamp | int64_t length | length bytes of audio data |
+//
+// For example, with three audio output buffers, the AudioFrames will look
+// like this:
+//
+// |<----------------- AudioFrames ------------------>|
+// | audio buffer 0 | audio buffer 1 | audio buffer 2 |
+class CDM_CLASS_API AudioFrames {
+ public:
+ virtual void SetFrameBuffer(Buffer* buffer) = 0;
+ virtual Buffer* FrameBuffer() = 0;
+
+ // The CDM must call this method, providing a valid format, when providing
+ // frame buffers. Planar data should be stored end to end; e.g.,
+ // |ch1 sample1||ch1 sample2|....|ch1 sample_last||ch2 sample1|...
+ virtual void SetFormat(AudioFormat format) = 0;
+ virtual AudioFormat Format() const = 0;
+
+ protected:
+ AudioFrames() {}
+ virtual ~AudioFrames() {}
+};
+
+// FileIO interface provides a way for the CDM to store data in a file in
+// persistent storage. This interface aims only at providing basic read/write
+// capabilities and should not be used as a full fledged file IO API.
+// Each CDM and origin (e.g. HTTPS, "foo.example.com", 443) combination has
+// its own persistent storage. All instances of a given CDM associated with a
+// given origin share the same persistent storage.
+// Note to implementors of this interface:
+// Per-origin storage and the ability for users to clear it are important.
+// See http://www.w3.org/TR/encrypted-media/#privacy-storedinfo.
+class CDM_CLASS_API FileIO {
+ public:
+ // Opens the file with |file_name| for read and write.
+ // FileIOClient::OnOpenComplete() will be called after the opening
+ // operation finishes.
+ // - When the file is opened by a CDM instance, it will be classified as "in
+ // use". In this case other CDM instances in the same domain may receive
+ // kInUse status when trying to open it.
+ // - |file_name| must only contain letters (A-Za-z), digits(0-9), or "._-".
+ // It must not start with an underscore ('_'), and must be at least 1
+ // character and no more than 256 characters long.
+ virtual void Open(const char* file_name, uint32_t file_name_size) = 0;
+
+ // Reads the contents of the file. FileIOClient::OnReadComplete() will be
+ // called with the read status. Read() should not be called if a previous
+ // Read() or Write() call is still pending; otherwise OnReadComplete() will
+ // be called with kInUse.
+ virtual void Read() = 0;
+
+ // Writes |data_size| bytes of |data| into the file.
+ // FileIOClient::OnWriteComplete() will be called with the write status.
+ // All existing contents in the file will be overwritten. Calling Write() with
+ // NULL |data| will clear all contents in the file. Write() should not be
+ // called if a previous Write() or Read() call is still pending; otherwise
+ // OnWriteComplete() will be called with kInUse.
+ virtual void Write(const uint8_t* data, uint32_t data_size) = 0;
+
+ // Closes the file if opened, destroys this FileIO object and releases any
+ // resources allocated. The CDM must call this method when it finished using
+ // this object. A FileIO object must not be used after Close() is called.
+ virtual void Close() = 0;
+
+ protected:
+ FileIO() {}
+ virtual ~FileIO() {}
+};
+
+// Responses to FileIO calls. All responses will be called asynchronously.
+// When kError is returned, the FileIO object could be in an error state. All
+// following calls (other than Close()) could return kError. The CDM should
+// still call Close() to destroy the FileIO object.
+class CDM_CLASS_API FileIOClient {
+ public:
+ enum class Status : uint32_t { kSuccess = 0, kInUse, kError };
+
+ // Response to a FileIO::Open() call with the open |status|.
+ virtual void OnOpenComplete(Status status) = 0;
+
+ // Response to a FileIO::Read() call to provide |data_size| bytes of |data|
+ // read from the file.
+ // - kSuccess indicates that all contents of the file has been successfully
+ // read. In this case, 0 |data_size| means that the file is empty.
+ // - kInUse indicates that there are other read/write operations pending.
+ // - kError indicates read failure, e.g. the storage is not open or cannot be
+ // fully read.
+ virtual void OnReadComplete(Status status,
+ const uint8_t* data,
+ uint32_t data_size) = 0;
+
+ // Response to a FileIO::Write() call.
+ // - kSuccess indicates that all the data has been written into the file
+ // successfully.
+ // - kInUse indicates that there are other read/write operations pending.
+ // - kError indicates write failure, e.g. the storage is not open or cannot be
+ // fully written. Upon write failure, the contents of the file should be
+ // regarded as corrupt and should not used.
+ virtual void OnWriteComplete(Status status) = 0;
+
+ protected:
+ FileIOClient() {}
+ virtual ~FileIOClient() {}
+};
+
+// Metrics that will be reported from the CDM through the ReportMetrics()
+// function. To add a new metric, please add it to the end of this enum list
+// without changing any existing enum values.
+// Note: For forward compatibility, Host implementations must gracefully handle
+// unexpected (new) enum values, e.g. no-op.
+enum MetricName : uint32_t {
+ kSdkVersion,
+ kCertificateSerialNumber,
+ kDecoderBypassBlockCount,
+};
+CHECK_TYPE(MetricName, 4, 4);
+
+class CDM_CLASS_API Host_10;
+class CDM_CLASS_API Host_11;
+class CDM_CLASS_API Host_12;
+
+// ContentDecryptionModule interface that all CDMs need to implement.
+// The interface is versioned for backward compatibility.
+// Note: ContentDecryptionModule implementations must use the allocator
+// provided in CreateCdmInstance() to allocate any Buffer that needs to
+// be passed back to the caller. Implementations must call Buffer::Destroy()
+// when a Buffer is created that will never be returned to the caller.
+class CDM_CLASS_API ContentDecryptionModule_10 {
+ public:
+ static const int kVersion = 10;
+ static const bool kIsStable = true;
+ typedef Host_10 Host;
+
+ // Initializes the CDM instance, providing information about permitted
+ // functionalities. The CDM must respond by calling Host::OnInitialized()
+ // with whether the initialization succeeded. No other calls will be made by
+ // the host before Host::OnInitialized() returns.
+ // If |allow_distinctive_identifier| is false, messages from the CDM,
+ // such as message events, must not contain a Distinctive Identifier,
+ // even in an encrypted form.
+ // If |allow_persistent_state| is false, the CDM must not attempt to
+ // persist state. Calls to CreateFileIO() will fail.
+ // If |use_hw_secure_codecs| is true, the CDM must ensure the decryption key
+ // and video buffers (compressed and uncompressed) are securely protected by
+ // hardware.
+ virtual void Initialize(bool allow_distinctive_identifier,
+ bool allow_persistent_state,
+ bool use_hw_secure_codecs) = 0;
+
+ // Gets the key status if the CDM has a hypothetical key with the |policy|.
+ // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
+ // with the result key status or Host::OnRejectPromise() if an unexpected
+ // error happened or this method is not supported.
+ virtual void GetStatusForPolicy(uint32_t promise_id,
+ const Policy& policy) = 0;
+
+ // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
+ // UpdateSession(), CloseSession(), and RemoveSession() all accept a
+ // |promise_id|, which must be passed to the completion Host method
+ // (e.g. Host::OnResolveNewSessionPromise()).
+
+ // Provides a server certificate to be used to encrypt messages to the
+ // license server. The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise().
+ // If the CDM does not support server certificates, the promise should be
+ // rejected with kExceptionNotSupportedError. If |server_certificate_data|
+ // is empty, reject with kExceptionTypeError. Any other error should be
+ // rejected with kExceptionInvalidStateError or kExceptionQuotaExceededError.
+ // TODO(crbug.com/796417): Add support for the promise to return true or
+ // false, rather than using kExceptionNotSupportedError to mean false.
+ virtual void SetServerCertificate(uint32_t promise_id,
+ const uint8_t* server_certificate_data,
+ uint32_t server_certificate_data_size) = 0;
+
+ // Creates a session given |session_type|, |init_data_type|, and |init_data|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise().
+ virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
+ SessionType session_type,
+ InitDataType init_data_type,
+ const uint8_t* init_data,
+ uint32_t init_data_size) = 0;
+
+ // Loads the session of type |session_type| specified by |session_id|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise(). If the session is not found, call
+ // Host::OnResolveNewSessionPromise() with session_id = NULL.
+ virtual void LoadSession(uint32_t promise_id,
+ SessionType session_type,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Updates the session with |response|. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise().
+ virtual void UpdateSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size,
+ const uint8_t* response,
+ uint32_t response_size) = 0;
+
+ // Requests that the CDM close the session. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
+ // has been processed. This may be before the session is closed. Once the
+ // session is closed, Host::OnSessionClosed() must also be called.
+ virtual void CloseSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Removes any stored session data associated with this session. Will only be
+ // called for persistent sessions. The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
+ // been processed.
+ virtual void RemoveSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Performs scheduled operation with |context| when the timer fires.
+ virtual void TimerExpired(void* context) = 0;
+
+ // Decrypts the |encrypted_buffer|.
//
- // |<----- subsample1 ----->|<----- subsample2 ----->|<----- subsample3 ----->|
- // | clear1 | cipher1 | clear2 | cipher2 | clear3 | cipher3 |
+ // Returns kSuccess if decryption succeeded, in which case the callee
+ // should have filled the |decrypted_buffer| and passed the ownership of
+ // |data| in |decrypted_buffer| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kDecryptError if any other error happened.
+ // If the return value is not kSuccess, |decrypted_buffer| should be ignored
+ // by the caller.
+ virtual Status Decrypt(const InputBuffer_2& encrypted_buffer,
+ DecryptedBlock* decrypted_buffer) = 0;
+
+ // Initializes the CDM audio decoder with |audio_decoder_config|. This
+ // function must be called before DecryptAndDecodeSamples() is called.
//
- // For decryption, all of the cipher bytes in a buffer should be concatenated
- // (in the subsample order) into a single logical stream. The clear bytes should
- // not be considered as part of decryption.
- //
- // Stream to decrypt: | cipher1 | cipher2 | cipher3 |
- // Decrypted stream: | decrypted1| decrypted2 | decrypted3 |
- //
- // After decryption, the decrypted bytes should be copied over the position
- // of the corresponding cipher bytes in the original buffer to form the output
- // buffer. Following the above example, the decrypted buffer should be:
- //
- // |<----- subsample1 ----->|<----- subsample2 ----->|<----- subsample3 ----->|
- // | clear1 | decrypted1| clear2 | decrypted2 | clear3 | decrypted3 |
- //
- struct SubsampleEntry {
- uint32_t clear_bytes;
- uint32_t cipher_bytes;
- };
- CHECK_TYPE(SubsampleEntry, 8, 8);
-
- // Represents an input buffer to be decrypted (and possibly decoded). It does
- // not own any pointers in this struct. If |iv_size| = 0, the data is
- // unencrypted.
- // Deprecated: New CDM implementations should use InputBuffer_2.
- struct InputBuffer_1 {
- const uint8_t* data; // Pointer to the beginning of the input data.
- uint32_t data_size; // Size (in bytes) of |data|.
-
- const uint8_t* key_id; // Key ID to identify the decryption key.
- uint32_t key_id_size; // Size (in bytes) of |key_id|.
-
- const uint8_t* iv; // Initialization vector.
- uint32_t iv_size; // Size (in bytes) of |iv|.
-
- const struct SubsampleEntry* subsamples;
- uint32_t num_subsamples; // Number of subsamples in |subsamples|.
-
- int64_t timestamp; // Presentation timestamp in microseconds.
- };
- CHECK_TYPE(InputBuffer_1, 40, 72);
-
- // Represents an input buffer to be decrypted (and possibly decoded). It does
- // not own any pointers in this struct. If |encryption_scheme| = kUnencrypted,
- // the data is unencrypted.
- // Note that this struct is organized so that sizeof(InputBuffer_2)
- // equals the sum of sizeof() all members in both 32-bit and 64-bit compiles.
- // Padding has been added to keep the fields aligned.
- struct InputBuffer_2 {
- const uint8_t* data; // Pointer to the beginning of the input data.
- uint32_t data_size; // Size (in bytes) of |data|.
-
- EncryptionScheme encryption_scheme;
-
- const uint8_t* key_id; // Key ID to identify the decryption key.
- uint32_t key_id_size; // Size (in bytes) of |key_id|.
- uint32_t : 32; // Padding.
-
- const uint8_t* iv; // Initialization vector.
- uint32_t iv_size; // Size (in bytes) of |iv|.
- uint32_t : 32; // Padding.
-
- const struct SubsampleEntry* subsamples;
- uint32_t num_subsamples; // Number of subsamples in |subsamples|.
- uint32_t : 32; // Padding.
-
- // |pattern| is required if |encryption_scheme| specifies pattern encryption.
- Pattern pattern;
-
- int64_t timestamp; // Presentation timestamp in microseconds.
- };
- CHECK_TYPE(InputBuffer_2, 64, 80);
-
- enum AudioCodec : uint32_t { kUnknownAudioCodec = 0, kCodecVorbis, kCodecAac };
- CHECK_TYPE(AudioCodec, 4, 4);
-
- // Deprecated: New CDM implementations should use AudioDecoderConfig_2.
- struct AudioDecoderConfig_1 {
- AudioCodec codec;
- int32_t channel_count;
- int32_t bits_per_channel;
- int32_t samples_per_second;
-
- // Optional byte data required to initialize audio decoders, such as the
- // vorbis setup header.
- uint8_t* extra_data;
- uint32_t extra_data_size;
- };
- CHECK_TYPE(AudioDecoderConfig_1, 24, 32);
-
- struct AudioDecoderConfig_2 {
- AudioCodec codec;
- int32_t channel_count;
- int32_t bits_per_channel;
- int32_t samples_per_second;
-
- // Optional byte data required to initialize audio decoders, such as the
- // vorbis setup header.
- uint8_t* extra_data;
- uint32_t extra_data_size;
-
- // Encryption scheme.
- EncryptionScheme encryption_scheme;
- };
- CHECK_TYPE(AudioDecoderConfig_2, 28, 32);
-
- // Supported sample formats for AudioFrames.
- enum AudioFormat : uint32_t {
- kUnknownAudioFormat = 0, // Unknown format value. Used for error reporting.
- kAudioFormatU8, // Interleaved unsigned 8-bit w/ bias of 128.
- kAudioFormatS16, // Interleaved signed 16-bit.
- kAudioFormatS32, // Interleaved signed 32-bit.
- kAudioFormatF32, // Interleaved float 32-bit.
- kAudioFormatPlanarS16, // Signed 16-bit planar.
- kAudioFormatPlanarF32, // Float 32-bit planar.
- };
- CHECK_TYPE(AudioFormat, 4, 4);
-
- // Surface formats based on FOURCC labels, see: http://www.fourcc.org/yuv.php
- // Values are chosen to be consistent with Chromium's VideoPixelFormat values.
- enum VideoFormat : uint32_t {
- kUnknownVideoFormat = 0, // Unknown format value. Used for error reporting.
- kYv12 = 1, // 12bpp YVU planar 1x1 Y, 2x2 VU samples.
- kI420 = 2, // 12bpp YUV planar 1x1 Y, 2x2 UV samples.
-
- // In the following formats, each sample uses 16-bit in storage, while the
- // sample value is stored in the least significant N bits where N is
- // specified by the number after "P". For example, for YUV420P9, each Y, U,
- // and V sample is stored in the least significant 9 bits in a 2-byte block.
- kYUV420P9 = 16,
- kYUV420P10 = 17,
- kYUV422P9 = 18,
- kYUV422P10 = 19,
- kYUV444P9 = 20,
- kYUV444P10 = 21,
- kYUV420P12 = 22,
- kYUV422P12 = 23,
- kYUV444P12 = 24,
- };
- CHECK_TYPE(VideoFormat, 4, 4);
-
- struct Size {
- int32_t width;
- int32_t height;
- };
- CHECK_TYPE(Size, 8, 8);
-
- enum VideoCodec : uint32_t {
- kUnknownVideoCodec = 0,
- kCodecVp8,
- kCodecH264,
- kCodecVp9,
- kCodecAv1
- };
- CHECK_TYPE(VideoCodec, 4, 4);
-
- enum VideoCodecProfile : uint32_t {
- kUnknownVideoCodecProfile = 0,
- kProfileNotNeeded,
- kH264ProfileBaseline,
- kH264ProfileMain,
- kH264ProfileExtended,
- kH264ProfileHigh,
- kH264ProfileHigh10,
- kH264ProfileHigh422,
- kH264ProfileHigh444Predictive,
- // VP9 Profiles are only passed in starting from CDM_9.
- kVP9Profile0,
- kVP9Profile1,
- kVP9Profile2,
- kVP9Profile3,
- kAv1ProfileMain,
- kAv1ProfileHigh,
- kAv1ProfilePro
- };
- CHECK_TYPE(VideoCodecProfile, 4, 4);
-
- // Deprecated: New CDM implementations should use VideoDecoderConfig_3.
- struct VideoDecoderConfig_1 {
- VideoCodec codec;
- VideoCodecProfile profile;
- VideoFormat format;
-
- // Width and height of video frame immediately post-decode. Not all pixels
- // in this region are valid.
- Size coded_size;
-
- // Optional byte data required to initialize video decoders, such as H.264
- // AAVC data.
- uint8_t* extra_data;
- uint32_t extra_data_size;
- };
- CHECK_TYPE(VideoDecoderConfig_1, 28, 40);
-
- // Deprecated: New CDM implementations should use VideoDecoderConfig_3.
- // Note that this struct is organized so that sizeof(VideoDecoderConfig_2)
- // equals the sum of sizeof() all members in both 32-bit and 64-bit compiles.
- // Padding has been added to keep the fields aligned.
- struct VideoDecoderConfig_2 {
- VideoCodec codec;
- VideoCodecProfile profile;
- VideoFormat format;
- uint32_t : 32; // Padding.
-
- // Width and height of video frame immediately post-decode. Not all pixels
- // in this region are valid.
- Size coded_size;
-
- // Optional byte data required to initialize video decoders, such as H.264
- // AAVC data.
- uint8_t* extra_data;
- uint32_t extra_data_size;
-
- // Encryption scheme.
- EncryptionScheme encryption_scheme;
- };
- CHECK_TYPE(VideoDecoderConfig_2, 36, 40);
-
- struct VideoDecoderConfig_3 {
- VideoCodec codec;
- VideoCodecProfile profile;
- VideoFormat format;
- ColorSpace color_space;
-
- // Width and height of video frame immediately post-decode. Not all pixels
- // in this region are valid.
- Size coded_size;
-
- // Optional byte data required to initialize video decoders, such as H.264
- // AAVC data.
- uint8_t* extra_data;
- uint32_t extra_data_size;
-
- EncryptionScheme encryption_scheme;
- };
- CHECK_TYPE(VideoDecoderConfig_3, 36, 40);
-
- enum StreamType : uint32_t { kStreamTypeAudio = 0, kStreamTypeVideo = 1 };
- CHECK_TYPE(StreamType, 4, 4);
-
- // Structure provided to ContentDecryptionModule::OnPlatformChallengeResponse()
- // after a platform challenge was initiated via Host::SendPlatformChallenge().
- // All values will be NULL / zero in the event of a challenge failure.
- struct PlatformChallengeResponse {
- // |challenge| provided during Host::SendPlatformChallenge() combined with
- // nonce data and signed with the platform's private key.
- const uint8_t* signed_data;
- uint32_t signed_data_length;
-
- // RSASSA-PKCS1-v1_5-SHA256 signature of the |signed_data| block.
- const uint8_t* signed_data_signature;
- uint32_t signed_data_signature_length;
-
- // X.509 device specific certificate for the |service_id| requested.
- const uint8_t* platform_key_certificate;
- uint32_t platform_key_certificate_length;
- };
- CHECK_TYPE(PlatformChallengeResponse, 24, 48);
-
- // The current status of the associated key. The valid types are defined in the
- // spec: https://w3c.github.io/encrypted-media/#idl-def-MediaKeyStatus
- enum KeyStatus : uint32_t {
- kUsable = 0,
- kInternalError = 1,
- kExpired = 2,
- kOutputRestricted = 3,
- kOutputDownscaled = 4,
- kStatusPending = 5,
- kReleased = 6
- };
- CHECK_TYPE(KeyStatus, 4, 4);
-
- // Used when passing arrays of key information. Does not own the referenced
- // data. |system_code| is an additional error code for unusable keys and
- // should be 0 when |status| == kUsable.
- struct KeyInformation {
- const uint8_t* key_id;
- uint32_t key_id_size;
- KeyStatus status;
- uint32_t system_code;
- };
- CHECK_TYPE(KeyInformation, 16, 24);
-
- // Supported output protection methods for use with EnableOutputProtection() and
- // returned by OnQueryOutputProtectionStatus().
- enum OutputProtectionMethods : uint32_t {
- kProtectionNone = 0,
- kProtectionHDCP = 1 << 0
- };
- CHECK_TYPE(OutputProtectionMethods, 4, 4);
-
- // Connected output link types returned by OnQueryOutputProtectionStatus().
- enum OutputLinkTypes : uint32_t {
- kLinkTypeNone = 0,
- kLinkTypeUnknown = 1 << 0,
- kLinkTypeInternal = 1 << 1,
- kLinkTypeVGA = 1 << 2,
- kLinkTypeHDMI = 1 << 3,
- kLinkTypeDVI = 1 << 4,
- kLinkTypeDisplayPort = 1 << 5,
- kLinkTypeNetwork = 1 << 6
- };
- CHECK_TYPE(OutputLinkTypes, 4, 4);
-
- // Result of the QueryOutputProtectionStatus() call.
- enum QueryResult : uint32_t { kQuerySucceeded = 0, kQueryFailed };
- CHECK_TYPE(QueryResult, 4, 4);
-
- // The Initialization Data Type. The valid types are defined in the spec:
- // https://w3c.github.io/encrypted-media/format-registry/initdata/index.html#registry
- enum InitDataType : uint32_t { kCenc = 0, kKeyIds = 1, kWebM = 2 };
- CHECK_TYPE(InitDataType, 4, 4);
-
- // The type of session to create. The valid types are defined in the spec:
- // https://w3c.github.io/encrypted-media/#idl-def-SessionType
- enum SessionType : uint32_t {
- kTemporary = 0,
- kPersistentLicense = 1,
- kPersistentUsageRecord = 2
- };
- CHECK_TYPE(SessionType, 4, 4);
-
- // The type of the message event. The valid types are defined in the spec:
- // https://w3c.github.io/encrypted-media/#idl-def-MediaKeyMessageType
- enum MessageType : uint32_t {
- kLicenseRequest = 0,
- kLicenseRenewal = 1,
- kLicenseRelease = 2,
- // Only supported by Host_10 and later. On Host_9 and earlier, it's undefined
- // behavior. For example, the host can drop the message or send it using
- // other message type.
- kIndividualizationRequest = 3
- };
- CHECK_TYPE(MessageType, 4, 4);
-
- enum HdcpVersion : uint32_t {
- kHdcpVersionNone,
- kHdcpVersion1_0,
- kHdcpVersion1_1,
- kHdcpVersion1_2,
- kHdcpVersion1_3,
- kHdcpVersion1_4,
- kHdcpVersion2_0,
- kHdcpVersion2_1,
- kHdcpVersion2_2,
- kHdcpVersion2_3
- };
- CHECK_TYPE(HdcpVersion, 4, 4);
-
- struct Policy {
- HdcpVersion min_hdcp_version;
- };
- CHECK_TYPE(Policy, 4, 4);
-
- // Represents a buffer created by Allocator implementations.
- class CDM_CLASS_API Buffer {
- public:
- // Destroys the buffer in the same context as it was created.
- virtual void Destroy() = 0;
-
- virtual uint32_t Capacity() const = 0;
- virtual uint8_t* Data() = 0;
- virtual void SetSize(uint32_t size) = 0;
- virtual uint32_t Size() const = 0;
-
- protected:
- Buffer() {}
- virtual ~Buffer() {}
-
- private:
- Buffer(const Buffer&);
- void operator=(const Buffer&);
- };
-
- // Represents a decrypted block that has not been decoded.
- class CDM_CLASS_API DecryptedBlock {
- public:
- virtual void SetDecryptedBuffer(Buffer* buffer) = 0;
- virtual Buffer* DecryptedBuffer() = 0;
-
- // TODO(tomfinegan): Figure out if timestamp is really needed. If it is not,
- // we can just pass Buffer pointers around.
- virtual void SetTimestamp(int64_t timestamp) = 0;
- virtual int64_t Timestamp() const = 0;
-
- protected:
- DecryptedBlock() {}
- virtual ~DecryptedBlock() {}
- };
-
- enum VideoPlane : uint32_t {
- kYPlane = 0,
- kUPlane = 1,
- kVPlane = 2,
- kMaxPlanes = 3,
- };
- CHECK_TYPE(VideoPlane, 4, 4);
-
- class CDM_CLASS_API VideoFrame {
- public:
- virtual void SetFormat(VideoFormat format) = 0;
- virtual VideoFormat Format() const = 0;
-
- virtual void SetSize(cdm::Size size) = 0;
- virtual cdm::Size Size() const = 0;
-
- virtual void SetFrameBuffer(Buffer* frame_buffer) = 0;
- virtual Buffer* FrameBuffer() = 0;
-
- virtual void SetPlaneOffset(VideoPlane plane, uint32_t offset) = 0;
- virtual uint32_t PlaneOffset(VideoPlane plane) = 0;
-
- virtual void SetStride(VideoPlane plane, uint32_t stride) = 0;
- virtual uint32_t Stride(VideoPlane plane) = 0;
-
- // Sets and gets the presentation timestamp which is in microseconds.
- virtual void SetTimestamp(int64_t timestamp) = 0;
- virtual int64_t Timestamp() const = 0;
-
- protected:
- VideoFrame() {}
- virtual ~VideoFrame() {}
- };
-
- // Represents a decoded video frame. The CDM should call the interface methods
- // to set the frame attributes. See DecryptAndDecodeFrame().
- class CDM_CLASS_API VideoFrame_2 {
- public:
- virtual void SetFormat(VideoFormat format) = 0;
- virtual void SetSize(cdm::Size size) = 0;
- virtual void SetFrameBuffer(Buffer* frame_buffer) = 0;
- virtual void SetPlaneOffset(VideoPlane plane, uint32_t offset) = 0;
- virtual void SetStride(VideoPlane plane, uint32_t stride) = 0;
- // Sets the presentation timestamp which is in microseconds.
- virtual void SetTimestamp(int64_t timestamp) = 0;
- virtual void SetColorSpace(ColorSpace color_space) = 0;
-
- protected:
- VideoFrame_2() {}
- virtual ~VideoFrame_2() {}
- };
-
- // Represents decrypted and decoded audio frames. AudioFrames can contain
- // multiple audio output buffers, which are serialized into this format:
+ // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
+ // audio decoder is successfully initialized.
+ // Returns kInitializationError if |audio_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeAudioDecoder(
+ const AudioDecoderConfig_2& audio_decoder_config) = 0;
+
+ // Initializes the CDM video decoder with |video_decoder_config|. This
+ // function must be called before DecryptAndDecodeFrame() is called.
//
- // |<------------------- serialized audio buffer ------------------->|
- // | int64_t timestamp | int64_t length | length bytes of audio data |
+ // Returns kSuccess if the |video_decoder_config| is supported and the CDM
+ // video decoder is successfully initialized.
+ // Returns kInitializationError if |video_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeVideoDecoder(
+ const VideoDecoderConfig_2& video_decoder_config) = 0;
+
+ // De-initializes the CDM decoder and sets it to an uninitialized state. The
+ // caller can initialize the decoder again after this call to re-initialize
+ // it. This can be used to reconfigure the decoder if the configuration
+ // changes.
+ virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
+
+ // Resets the CDM decoder to an initialized clean state. All internal buffers
+ // MUST be flushed.
+ virtual void ResetDecoder(StreamType decoder_type) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
+ // |video_frame|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
+ // kNeedMoreData is returned.
//
- // For example, with three audio output buffers, the AudioFrames will look
- // like this:
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled the |video_frame| and passed the ownership of
+ // |frame_buffer| in |video_frame| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // a decoded frame (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |video_frame| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeFrame(const InputBuffer_2& encrypted_buffer,
+ VideoFrame* video_frame) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
+ // |audio_frames|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
+ // |audio_frames| is produced.
//
- // |<----------------- AudioFrames ------------------>|
- // | audio buffer 0 | audio buffer 1 | audio buffer 2 |
- class CDM_CLASS_API AudioFrames {
- public:
- virtual void SetFrameBuffer(Buffer* buffer) = 0;
- virtual Buffer* FrameBuffer() = 0;
-
- // The CDM must call this method, providing a valid format, when providing
- // frame buffers. Planar data should be stored end to end; e.g.,
- // |ch1 sample1||ch1 sample2|....|ch1 sample_last||ch2 sample1|...
- virtual void SetFormat(AudioFormat format) = 0;
- virtual AudioFormat Format() const = 0;
-
- protected:
- AudioFrames() {}
- virtual ~AudioFrames() {}
- };
-
- // FileIO interface provides a way for the CDM to store data in a file in
- // persistent storage. This interface aims only at providing basic read/write
- // capabilities and should not be used as a full fledged file IO API.
- // Each CDM and origin (e.g. HTTPS, "foo.example.com", 443) combination has
- // its own persistent storage. All instances of a given CDM associated with a
- // given origin share the same persistent storage.
- // Note to implementors of this interface:
- // Per-origin storage and the ability for users to clear it are important.
- // See http://www.w3.org/TR/encrypted-media/#privacy-storedinfo.
- class CDM_CLASS_API FileIO {
- public:
- // Opens the file with |file_name| for read and write.
- // FileIOClient::OnOpenComplete() will be called after the opening
- // operation finishes.
- // - When the file is opened by a CDM instance, it will be classified as "in
- // use". In this case other CDM instances in the same domain may receive
- // kInUse status when trying to open it.
- // - |file_name| must only contain letters (A-Za-z), digits(0-9), or "._-".
- // It must not start with an underscore ('_'), and must be at least 1
- // character and no more than 256 characters long.
- virtual void Open(const char* file_name, uint32_t file_name_size) = 0;
-
- // Reads the contents of the file. FileIOClient::OnReadComplete() will be
- // called with the read status. Read() should not be called if a previous
- // Read() or Write() call is still pending; otherwise OnReadComplete() will
- // be called with kInUse.
- virtual void Read() = 0;
-
- // Writes |data_size| bytes of |data| into the file.
- // FileIOClient::OnWriteComplete() will be called with the write status.
- // All existing contents in the file will be overwritten. Calling Write() with
- // NULL |data| will clear all contents in the file. Write() should not be
- // called if a previous Write() or Read() call is still pending; otherwise
- // OnWriteComplete() will be called with kInUse.
- virtual void Write(const uint8_t* data, uint32_t data_size) = 0;
-
- // Closes the file if opened, destroys this FileIO object and releases any
- // resources allocated. The CDM must call this method when it finished using
- // this object. A FileIO object must not be used after Close() is called.
- virtual void Close() = 0;
-
- protected:
- FileIO() {}
- virtual ~FileIO() {}
- };
-
- // Responses to FileIO calls. All responses will be called asynchronously.
- // When kError is returned, the FileIO object could be in an error state. All
- // following calls (other than Close()) could return kError. The CDM should
- // still call Close() to destroy the FileIO object.
- class CDM_CLASS_API FileIOClient {
- public:
- enum class Status : uint32_t { kSuccess = 0, kInUse, kError };
-
- // Response to a FileIO::Open() call with the open |status|.
- virtual void OnOpenComplete(Status status) = 0;
-
- // Response to a FileIO::Read() call to provide |data_size| bytes of |data|
- // read from the file.
- // - kSuccess indicates that all contents of the file has been successfully
- // read. In this case, 0 |data_size| means that the file is empty.
- // - kInUse indicates that there are other read/write operations pending.
- // - kError indicates read failure, e.g. the storage is not open or cannot be
- // fully read.
- virtual void OnReadComplete(Status status,
- const uint8_t* data,
- uint32_t data_size) = 0;
-
- // Response to a FileIO::Write() call.
- // - kSuccess indicates that all the data has been written into the file
- // successfully.
- // - kInUse indicates that there are other read/write operations pending.
- // - kError indicates write failure, e.g. the storage is not open or cannot be
- // fully written. Upon write failure, the contents of the file should be
- // regarded as corrupt and should not used.
- virtual void OnWriteComplete(Status status) = 0;
-
- protected:
- FileIOClient() {}
- virtual ~FileIOClient() {}
- };
-
- class CDM_CLASS_API Host_9;
- class CDM_CLASS_API Host_10;
- class CDM_CLASS_API Host_11;
-
- // ContentDecryptionModule interface that all CDMs need to implement.
- // The interface is versioned for backward compatibility.
- // Note: ContentDecryptionModule implementations must use the allocator
- // provided in CreateCdmInstance() to allocate any Buffer that needs to
- // be passed back to the caller. Implementations must call Buffer::Destroy()
- // when a Buffer is created that will never be returned to the caller.
- class CDM_CLASS_API ContentDecryptionModule_9 {
- public:
- static const int kVersion = 9;
- typedef Host_9 Host;
-
- // Initializes the CDM instance, providing information about permitted
- // functionalities.
- // If |allow_distinctive_identifier| is false, messages from the CDM,
- // such as message events, must not contain a Distinctive Identifier,
- // even in an encrypted form.
- // If |allow_persistent_state| is false, the CDM must not attempt to
- // persist state. Calls to CreateFileIO() will fail.
- virtual void Initialize(bool allow_distinctive_identifier,
- bool allow_persistent_state) = 0;
-
- // Gets the key status if the CDM has a hypothetical key with the |policy|.
- // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
- // with the result key status or Host::OnRejectPromise() if an unexpected
- // error happened or this method is not supported.
- virtual void GetStatusForPolicy(uint32_t promise_id,
- const Policy& policy) = 0;
-
- // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
- // UpdateSession(), CloseSession(), and RemoveSession() all accept a
- // |promise_id|, which must be passed to the completion Host method
- // (e.g. Host::OnResolveNewSessionPromise()).
-
- // Provides a server certificate to be used to encrypt messages to the
- // license server. The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise().
- virtual void SetServerCertificate(uint32_t promise_id,
- const uint8_t* server_certificate_data,
- uint32_t server_certificate_data_size) = 0;
-
- // Creates a session given |session_type|, |init_data_type|, and |init_data|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise().
- virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
- SessionType session_type,
- InitDataType init_data_type,
- const uint8_t* init_data,
- uint32_t init_data_size) = 0;
-
- // Loads the session of type |session_type| specified by |session_id|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise(). If the session is not found, call
- // Host::OnResolveNewSessionPromise() with session_id = NULL.
- virtual void LoadSession(uint32_t promise_id,
- SessionType session_type,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Updates the session with |response|. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise().
- virtual void UpdateSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size,
- const uint8_t* response,
- uint32_t response_size) = 0;
-
- // Requests that the CDM close the session. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
- // has been processed. This may be before the session is closed. Once the
- // session is closed, Host::OnSessionClosed() must also be called.
- virtual void CloseSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Removes any stored session data associated with this session. Will only be
- // called for persistent sessions. The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
- // been processed.
- virtual void RemoveSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Performs scheduled operation with |context| when the timer fires.
- virtual void TimerExpired(void* context) = 0;
-
- // Decrypts the |encrypted_buffer|.
- //
- // Returns kSuccess if decryption succeeded, in which case the callee
- // should have filled the |decrypted_buffer| and passed the ownership of
- // |data| in |decrypted_buffer| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kDecryptError if any other error happened.
- // If the return value is not kSuccess, |decrypted_buffer| should be ignored
- // by the caller.
- virtual Status Decrypt(const InputBuffer_1& encrypted_buffer,
- DecryptedBlock* decrypted_buffer) = 0;
-
- // Initializes the CDM audio decoder with |audio_decoder_config|. This
- // function must be called before DecryptAndDecodeSamples() is called.
- //
- // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
- // audio decoder is successfully initialized.
- // Returns kInitializationError if |audio_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeAudioDecoder(
- const AudioDecoderConfig_1& audio_decoder_config) = 0;
-
- // Initializes the CDM video decoder with |video_decoder_config|. This
- // function must be called before DecryptAndDecodeFrame() is called.
- //
- // Returns kSuccess if the |video_decoder_config| is supported and the CDM
- // video decoder is successfully initialized.
- // Returns kInitializationError if |video_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeVideoDecoder(
- const VideoDecoderConfig_1& video_decoder_config) = 0;
-
- // De-initializes the CDM decoder and sets it to an uninitialized state. The
- // caller can initialize the decoder again after this call to re-initialize
- // it. This can be used to reconfigure the decoder if the configuration
- // changes.
- virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
-
- // Resets the CDM decoder to an initialized clean state. All internal buffers
- // MUST be flushed.
- virtual void ResetDecoder(StreamType decoder_type) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
- // |video_frame|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
- // kNeedMoreData is returned.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled the |video_frame| and passed the ownership of
- // |frame_buffer| in |video_frame| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // a decoded frame (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |video_frame| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeFrame(const InputBuffer_1& encrypted_buffer,
- VideoFrame* video_frame) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
- // |audio_frames|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
- // |audio_frames| is produced.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled |audio_frames| and passed the ownership of
- // |data| in |audio_frames| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // audio samples (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |audio_frames| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeSamples(const InputBuffer_1& encrypted_buffer,
- AudioFrames* audio_frames) = 0;
-
- // Called by the host after a platform challenge was initiated via
- // Host::SendPlatformChallenge().
- virtual void OnPlatformChallengeResponse(
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled |audio_frames| and passed the ownership of
+ // |data| in |audio_frames| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // audio samples (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |audio_frames| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeSamples(const InputBuffer_2& encrypted_buffer,
+ AudioFrames* audio_frames) = 0;
+
+ // Called by the host after a platform challenge was initiated via
+ // Host::SendPlatformChallenge().
+ virtual void OnPlatformChallengeResponse(
const PlatformChallengeResponse& response) = 0;
- // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
- // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
- // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
- // then |link_mask| and |output_protection_mask| are undefined and should
- // be ignored.
- virtual void OnQueryOutputProtectionStatus(
+ // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
+ // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
+ // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
+ // then |link_mask| and |output_protection_mask| are undefined and should
+ // be ignored.
+ virtual void OnQueryOutputProtectionStatus(
QueryResult result,
uint32_t link_mask,
uint32_t output_protection_mask) = 0;
- // Called by the host after a call to Host::RequestStorageId(). If the
- // version of the storage ID requested is available, |storage_id| and
- // |storage_id_size| are set appropriately. |version| will be the same as
- // what was requested, unless 0 (latest) was requested, in which case
- // |version| will be the actual version number for the |storage_id| returned.
- // If the requested version is not available, null/zero will be provided as
- // |storage_id| and |storage_id_size|, respectively, and |version| should be
- // ignored.
- virtual void OnStorageId(uint32_t version,
- const uint8_t* storage_id,
- uint32_t storage_id_size) = 0;
-
- // Destroys the object in the same context as it was created.
- virtual void Destroy() = 0;
-
- protected:
- ContentDecryptionModule_9() {}
- virtual ~ContentDecryptionModule_9() {}
- };
-
- // ContentDecryptionModule interface that all CDMs need to implement.
- // The interface is versioned for backward compatibility.
- // Note: ContentDecryptionModule implementations must use the allocator
- // provided in CreateCdmInstance() to allocate any Buffer that needs to
- // be passed back to the caller. Implementations must call Buffer::Destroy()
- // when a Buffer is created that will never be returned to the caller.
- class CDM_CLASS_API ContentDecryptionModule_10 {
- public:
- static const int kVersion = 10;
- static const bool kIsStable = true;
- typedef Host_10 Host;
-
- // Initializes the CDM instance, providing information about permitted
- // functionalities. The CDM must respond by calling Host::OnInitialized()
- // with whether the initialization succeeded. No other calls will be made by
- // the host before Host::OnInitialized() returns.
- // If |allow_distinctive_identifier| is false, messages from the CDM,
- // such as message events, must not contain a Distinctive Identifier,
- // even in an encrypted form.
- // If |allow_persistent_state| is false, the CDM must not attempt to
- // persist state. Calls to CreateFileIO() will fail.
- // If |use_hw_secure_codecs| is true, the CDM must ensure the decryption key
- // and video buffers (compressed and uncompressed) are securely protected by
- // hardware.
- virtual void Initialize(bool allow_distinctive_identifier,
- bool allow_persistent_state,
- bool use_hw_secure_codecs) = 0;
-
- // Gets the key status if the CDM has a hypothetical key with the |policy|.
- // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
- // with the result key status or Host::OnRejectPromise() if an unexpected
- // error happened or this method is not supported.
- virtual void GetStatusForPolicy(uint32_t promise_id,
- const Policy& policy) = 0;
-
- // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
- // UpdateSession(), CloseSession(), and RemoveSession() all accept a
- // |promise_id|, which must be passed to the completion Host method
- // (e.g. Host::OnResolveNewSessionPromise()).
-
- // Provides a server certificate to be used to encrypt messages to the
- // license server. The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise().
- // If the CDM does not support server certificates, the promise should be
- // rejected with kExceptionNotSupportedError. If |server_certificate_data|
- // is empty, reject with kExceptionTypeError. Any other error should be
- // rejected with kExceptionInvalidStateError or kExceptionQuotaExceededError.
- // TODO(crbug.com/796417): Add support for the promise to return true or
- // false, rather than using kExceptionNotSupportedError to mean false.
- virtual void SetServerCertificate(uint32_t promise_id,
- const uint8_t* server_certificate_data,
- uint32_t server_certificate_data_size) = 0;
-
- // Creates a session given |session_type|, |init_data_type|, and |init_data|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise().
- virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
- SessionType session_type,
- InitDataType init_data_type,
- const uint8_t* init_data,
- uint32_t init_data_size) = 0;
-
- // Loads the session of type |session_type| specified by |session_id|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise(). If the session is not found, call
- // Host::OnResolveNewSessionPromise() with session_id = NULL.
- virtual void LoadSession(uint32_t promise_id,
- SessionType session_type,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Updates the session with |response|. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise().
- virtual void UpdateSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size,
- const uint8_t* response,
- uint32_t response_size) = 0;
-
- // Requests that the CDM close the session. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
- // has been processed. This may be before the session is closed. Once the
- // session is closed, Host::OnSessionClosed() must also be called.
- virtual void CloseSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Removes any stored session data associated with this session. Will only be
- // called for persistent sessions. The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
- // been processed.
- virtual void RemoveSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Performs scheduled operation with |context| when the timer fires.
- virtual void TimerExpired(void* context) = 0;
-
- // Decrypts the |encrypted_buffer|.
- //
- // Returns kSuccess if decryption succeeded, in which case the callee
- // should have filled the |decrypted_buffer| and passed the ownership of
- // |data| in |decrypted_buffer| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kDecryptError if any other error happened.
- // If the return value is not kSuccess, |decrypted_buffer| should be ignored
- // by the caller.
- virtual Status Decrypt(const InputBuffer_2& encrypted_buffer,
- DecryptedBlock* decrypted_buffer) = 0;
-
- // Initializes the CDM audio decoder with |audio_decoder_config|. This
- // function must be called before DecryptAndDecodeSamples() is called.
- //
- // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
- // audio decoder is successfully initialized.
- // Returns kInitializationError if |audio_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeAudioDecoder(
+ // Called by the host after a call to Host::RequestStorageId(). If the
+ // version of the storage ID requested is available, |storage_id| and
+ // |storage_id_size| are set appropriately. |version| will be the same as
+ // what was requested, unless 0 (latest) was requested, in which case
+ // |version| will be the actual version number for the |storage_id| returned.
+ // If the requested version is not available, null/zero will be provided as
+ // |storage_id| and |storage_id_size|, respectively, and |version| should be
+ // ignored.
+ virtual void OnStorageId(uint32_t version,
+ const uint8_t* storage_id,
+ uint32_t storage_id_size) = 0;
+
+ // Destroys the object in the same context as it was created.
+ virtual void Destroy() = 0;
+
+ protected:
+ ContentDecryptionModule_10() {}
+ virtual ~ContentDecryptionModule_10() {}
+};
+
+// ContentDecryptionModule interface that all CDMs need to implement.
+// The interface is versioned for backward compatibility.
+// Note: ContentDecryptionModule implementations must use the allocator
+// provided in CreateCdmInstance() to allocate any Buffer that needs to
+// be passed back to the caller. Implementations must call Buffer::Destroy()
+// when a Buffer is created that will never be returned to the caller.
+class CDM_CLASS_API ContentDecryptionModule_11 {
+ public:
+ static const int kVersion = 11;
+ static const bool kIsStable = true;
+ typedef Host_11 Host;
+
+ // Initializes the CDM instance, providing information about permitted
+ // functionalities. The CDM must respond by calling Host::OnInitialized()
+ // with whether the initialization succeeded. No other calls will be made by
+ // the host before Host::OnInitialized() returns.
+ // If |allow_distinctive_identifier| is false, messages from the CDM,
+ // such as message events, must not contain a Distinctive Identifier,
+ // even in an encrypted form.
+ // If |allow_persistent_state| is false, the CDM must not attempt to
+ // persist state. Calls to CreateFileIO() will fail.
+ // If |use_hw_secure_codecs| is true, the CDM must ensure the decryption key
+ // and video buffers (compressed and uncompressed) are securely protected by
+ // hardware.
+ virtual void Initialize(bool allow_distinctive_identifier,
+ bool allow_persistent_state,
+ bool use_hw_secure_codecs) = 0;
+
+ // Gets the key status if the CDM has a hypothetical key with the |policy|.
+ // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
+ // with the result key status or Host::OnRejectPromise() if an unexpected
+ // error happened or this method is not supported.
+ virtual void GetStatusForPolicy(uint32_t promise_id,
+ const Policy& policy) = 0;
+
+ // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
+ // UpdateSession(), CloseSession(), and RemoveSession() all accept a
+ // |promise_id|, which must be passed to the completion Host method
+ // (e.g. Host::OnResolveNewSessionPromise()).
+
+ // Provides a server certificate to be used to encrypt messages to the
+ // license server. The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise().
+ // If the CDM does not support server certificates, the promise should be
+ // rejected with kExceptionNotSupportedError. If |server_certificate_data|
+ // is empty, reject with kExceptionTypeError. Any other error should be
+ // rejected with kExceptionInvalidStateError or kExceptionQuotaExceededError.
+ // TODO(crbug.com/796417): Add support for the promise to return true or
+ // false, rather than using kExceptionNotSupportedError to mean false.
+ virtual void SetServerCertificate(uint32_t promise_id,
+ const uint8_t* server_certificate_data,
+ uint32_t server_certificate_data_size) = 0;
+
+ // Creates a session given |session_type|, |init_data_type|, and |init_data|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise().
+ virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
+ SessionType session_type,
+ InitDataType init_data_type,
+ const uint8_t* init_data,
+ uint32_t init_data_size) = 0;
+
+ // Loads the session of type |session_type| specified by |session_id|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise(). If the session is not found, call
+ // Host::OnResolveNewSessionPromise() with session_id = NULL.
+ virtual void LoadSession(uint32_t promise_id,
+ SessionType session_type,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Updates the session with |response|. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise().
+ virtual void UpdateSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size,
+ const uint8_t* response,
+ uint32_t response_size) = 0;
+
+ // Requests that the CDM close the session. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
+ // has been processed. This may be before the session is closed. Once the
+ // session is closed, Host::OnSessionClosed() must also be called.
+ virtual void CloseSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Removes any stored session data associated with this session. Will only be
+ // called for persistent sessions. The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
+ // been processed.
+ virtual void RemoveSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Performs scheduled operation with |context| when the timer fires.
+ virtual void TimerExpired(void* context) = 0;
+
+ // Decrypts the |encrypted_buffer|.
+ //
+ // Returns kSuccess if decryption succeeded, in which case the callee
+ // should have filled the |decrypted_buffer| and passed the ownership of
+ // |data| in |decrypted_buffer| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kDecryptError if any other error happened.
+ // If the return value is not kSuccess, |decrypted_buffer| should be ignored
+ // by the caller.
+ virtual Status Decrypt(const InputBuffer_2& encrypted_buffer,
+ DecryptedBlock* decrypted_buffer) = 0;
+
+ // Initializes the CDM audio decoder with |audio_decoder_config|. This
+ // function must be called before DecryptAndDecodeSamples() is called.
+ //
+ // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
+ // audio decoder is successfully initialized.
+ // Returns kInitializationError if |audio_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeAudioDecoder(
const AudioDecoderConfig_2& audio_decoder_config) = 0;
- // Initializes the CDM video decoder with |video_decoder_config|. This
- // function must be called before DecryptAndDecodeFrame() is called.
- //
- // Returns kSuccess if the |video_decoder_config| is supported and the CDM
- // video decoder is successfully initialized.
- // Returns kInitializationError if |video_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeVideoDecoder(
+ // Initializes the CDM video decoder with |video_decoder_config|. This
+ // function must be called before DecryptAndDecodeFrame() is called.
+ //
+ // Returns kSuccess if the |video_decoder_config| is supported and the CDM
+ // video decoder is successfully initialized.
+ // Returns kInitializationError if |video_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeVideoDecoder(
const VideoDecoderConfig_2& video_decoder_config) = 0;
- // De-initializes the CDM decoder and sets it to an uninitialized state. The
- // caller can initialize the decoder again after this call to re-initialize
- // it. This can be used to reconfigure the decoder if the configuration
- // changes.
- virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
-
- // Resets the CDM decoder to an initialized clean state. All internal buffers
- // MUST be flushed.
- virtual void ResetDecoder(StreamType decoder_type) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
- // |video_frame|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
- // kNeedMoreData is returned.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled the |video_frame| and passed the ownership of
- // |frame_buffer| in |video_frame| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // a decoded frame (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |video_frame| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeFrame(const InputBuffer_2& encrypted_buffer,
- VideoFrame* video_frame) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
- // |audio_frames|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
- // |audio_frames| is produced.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled |audio_frames| and passed the ownership of
- // |data| in |audio_frames| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // audio samples (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |audio_frames| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeSamples(const InputBuffer_2& encrypted_buffer,
- AudioFrames* audio_frames) = 0;
-
- // Called by the host after a platform challenge was initiated via
- // Host::SendPlatformChallenge().
- virtual void OnPlatformChallengeResponse(
+ // De-initializes the CDM decoder and sets it to an uninitialized state. The
+ // caller can initialize the decoder again after this call to re-initialize
+ // it. This can be used to reconfigure the decoder if the configuration
+ // changes.
+ virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
+
+ // Resets the CDM decoder to an initialized clean state. All internal buffers
+ // MUST be flushed.
+ virtual void ResetDecoder(StreamType decoder_type) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
+ // |video_frame|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
+ // kNeedMoreData is returned.
+ //
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled the |video_frame| and passed the ownership of
+ // |frame_buffer| in |video_frame| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // a decoded frame (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |video_frame| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeFrame(const InputBuffer_2& encrypted_buffer,
+ VideoFrame* video_frame) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
+ // |audio_frames|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
+ // |audio_frames| is produced.
+ //
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled |audio_frames| and passed the ownership of
+ // |data| in |audio_frames| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // audio samples (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |audio_frames| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeSamples(const InputBuffer_2& encrypted_buffer,
+ AudioFrames* audio_frames) = 0;
+
+ // Called by the host after a platform challenge was initiated via
+ // Host::SendPlatformChallenge().
+ virtual void OnPlatformChallengeResponse(
const PlatformChallengeResponse& response) = 0;
- // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
- // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
- // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
- // then |link_mask| and |output_protection_mask| are undefined and should
- // be ignored.
- virtual void OnQueryOutputProtectionStatus(
+ // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
+ // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
+ // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
+ // then |link_mask| and |output_protection_mask| are undefined and should
+ // be ignored.
+ virtual void OnQueryOutputProtectionStatus(
QueryResult result,
uint32_t link_mask,
uint32_t output_protection_mask) = 0;
- // Called by the host after a call to Host::RequestStorageId(). If the
- // version of the storage ID requested is available, |storage_id| and
- // |storage_id_size| are set appropriately. |version| will be the same as
- // what was requested, unless 0 (latest) was requested, in which case
- // |version| will be the actual version number for the |storage_id| returned.
- // If the requested version is not available, null/zero will be provided as
- // |storage_id| and |storage_id_size|, respectively, and |version| should be
- // ignored.
- virtual void OnStorageId(uint32_t version,
- const uint8_t* storage_id,
- uint32_t storage_id_size) = 0;
-
- // Destroys the object in the same context as it was created.
- virtual void Destroy() = 0;
-
- protected:
- ContentDecryptionModule_10() {}
- virtual ~ContentDecryptionModule_10() {}
- };
-
- // ----- Note: CDM interface(s) below still in development and not stable! -----
-
- // ContentDecryptionModule interface that all CDMs need to implement.
- // The interface is versioned for backward compatibility.
- // Note: ContentDecryptionModule implementations must use the allocator
- // provided in CreateCdmInstance() to allocate any Buffer that needs to
- // be passed back to the caller. Implementations must call Buffer::Destroy()
- // when a Buffer is created that will never be returned to the caller.
- class CDM_CLASS_API ContentDecryptionModule_11 {
- public:
- static const int kVersion = 11;
- static const bool kIsStable = false;
- typedef Host_11 Host;
-
- // Initializes the CDM instance, providing information about permitted
- // functionalities. The CDM must respond by calling Host::OnInitialized()
- // with whether the initialization succeeded. No other calls will be made by
- // the host before Host::OnInitialized() returns.
- // If |allow_distinctive_identifier| is false, messages from the CDM,
- // such as message events, must not contain a Distinctive Identifier,
- // even in an encrypted form.
- // If |allow_persistent_state| is false, the CDM must not attempt to
- // persist state. Calls to CreateFileIO() will fail.
- // If |use_hw_secure_codecs| is true, the CDM must ensure the decryption key
- // and video buffers (compressed and uncompressed) are securely protected by
- // hardware.
- virtual void Initialize(bool allow_distinctive_identifier,
- bool allow_persistent_state,
- bool use_hw_secure_codecs) = 0;
-
- // Gets the key status if the CDM has a hypothetical key with the |policy|.
- // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
- // with the result key status or Host::OnRejectPromise() if an unexpected
- // error happened or this method is not supported.
- virtual void GetStatusForPolicy(uint32_t promise_id,
- const Policy& policy) = 0;
-
- // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
- // UpdateSession(), CloseSession(), and RemoveSession() all accept a
- // |promise_id|, which must be passed to the completion Host method
- // (e.g. Host::OnResolveNewSessionPromise()).
-
- // Provides a server certificate to be used to encrypt messages to the
- // license server. The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise().
- // If the CDM does not support server certificates, the promise should be
- // rejected with kExceptionNotSupportedError. If |server_certificate_data|
- // is empty, reject with kExceptionTypeError. Any other error should be
- // rejected with kExceptionInvalidStateError or kExceptionQuotaExceededError.
- // TODO(crbug.com/796417): Add support for the promise to return true or
- // false, rather than using kExceptionNotSupportedError to mean false.
- virtual void SetServerCertificate(uint32_t promise_id,
- const uint8_t* server_certificate_data,
- uint32_t server_certificate_data_size) = 0;
-
- // Creates a session given |session_type|, |init_data_type|, and |init_data|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise().
- virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
- SessionType session_type,
- InitDataType init_data_type,
- const uint8_t* init_data,
- uint32_t init_data_size) = 0;
-
- // Loads the session of type |session_type| specified by |session_id|.
- // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
- // or Host::OnRejectPromise(). If the session is not found, call
- // Host::OnResolveNewSessionPromise() with session_id = NULL.
- virtual void LoadSession(uint32_t promise_id,
- SessionType session_type,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Updates the session with |response|. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise().
- virtual void UpdateSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size,
- const uint8_t* response,
- uint32_t response_size) = 0;
-
- // Requests that the CDM close the session. The CDM must respond by calling
- // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
- // has been processed. This may be before the session is closed. Once the
- // session is closed, Host::OnSessionClosed() must also be called.
- virtual void CloseSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Removes any stored session data associated with this session. Removes all
- // license(s) and key(s) associated with the session, whether they are in
- // memory, persistent store, or both. For persistent session types, other
- // session data (e.g. record of license destruction) will be cleared as
- // defined for each session type once a release message acknowledgment is
- // processed by UpdateSession(). The CDM must respond by calling either
- // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
- // been processed.
- virtual void RemoveSession(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Performs scheduled operation with |context| when the timer fires.
- virtual void TimerExpired(void* context) = 0;
-
- // Decrypts the |encrypted_buffer|.
- //
- // Returns kSuccess if decryption succeeded, in which case the callee
- // should have filled the |decrypted_buffer| and passed the ownership of
- // |data| in |decrypted_buffer| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kDecryptError if any other error happened.
- // If the return value is not kSuccess, |decrypted_buffer| should be ignored
- // by the caller.
- virtual Status Decrypt(const InputBuffer_2& encrypted_buffer,
- DecryptedBlock* decrypted_buffer) = 0;
-
- // Initializes the CDM audio decoder with |audio_decoder_config|. This
- // function must be called before DecryptAndDecodeSamples() is called.
- //
- // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
- // audio decoder is successfully initialized.
- // Returns kInitializationError if |audio_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeAudioDecoder(
+ // Called by the host after a call to Host::RequestStorageId(). If the
+ // version of the storage ID requested is available, |storage_id| and
+ // |storage_id_size| are set appropriately. |version| will be the same as
+ // what was requested, unless 0 (latest) was requested, in which case
+ // |version| will be the actual version number for the |storage_id| returned.
+ // If the requested version is not available, null/zero will be provided as
+ // |storage_id| and |storage_id_size|, respectively, and |version| should be
+ // ignored.
+ virtual void OnStorageId(uint32_t version,
+ const uint8_t* storage_id,
+ uint32_t storage_id_size) = 0;
+
+ // Destroys the object in the same context as it was created.
+ virtual void Destroy() = 0;
+
+ protected:
+ ContentDecryptionModule_11() {}
+ virtual ~ContentDecryptionModule_11() {}
+};
+
+// ----- Note: CDM interface(s) below still in development and not stable! -----
+
+// ContentDecryptionModule interface that all CDMs need to implement.
+// The interface is versioned for backward compatibility.
+// Note: ContentDecryptionModule implementations must use the allocator
+// provided in CreateCdmInstance() to allocate any Buffer that needs to
+// be passed back to the caller. Implementations must call Buffer::Destroy()
+// when a Buffer is created that will never be returned to the caller.
+class CDM_CLASS_API ContentDecryptionModule_12 {
+ public:
+ static const int kVersion = 12;
+ static const bool kIsStable = false;
+ typedef Host_12 Host;
+
+ // Initializes the CDM instance, providing information about permitted
+ // functionalities. The CDM must respond by calling Host::OnInitialized()
+ // with whether the initialization succeeded. No other calls will be made by
+ // the host before Host::OnInitialized() returns.
+ // If |allow_distinctive_identifier| is false, messages from the CDM,
+ // such as message events, must not contain a Distinctive Identifier,
+ // even in an encrypted form.
+ // If |allow_persistent_state| is false, the CDM must not attempt to
+ // persist state. Calls to CreateFileIO() will fail.
+ // If |use_hw_secure_codecs| is true, the CDM must ensure the decryption key
+ // and video buffers (compressed and uncompressed) are securely protected by
+ // hardware.
+ virtual void Initialize(bool allow_distinctive_identifier,
+ bool allow_persistent_state,
+ bool use_hw_secure_codecs) = 0;
+
+ // Gets the key status if the CDM has a hypothetical key with the |policy|.
+ // The CDM must respond by calling either Host::OnResolveKeyStatusPromise()
+ // with the result key status or Host::OnRejectPromise() if an unexpected
+ // error happened or this method is not supported.
+ virtual void GetStatusForPolicy(uint32_t promise_id,
+ const Policy& policy) = 0;
+
+ // SetServerCertificate(), CreateSessionAndGenerateRequest(), LoadSession(),
+ // UpdateSession(), CloseSession(), and RemoveSession() all accept a
+ // |promise_id|, which must be passed to the completion Host method
+ // (e.g. Host::OnResolveNewSessionPromise()).
+
+ // Provides a server certificate to be used to encrypt messages to the
+ // license server. The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise().
+ // If the CDM does not support server certificates, the promise should be
+ // rejected with kExceptionNotSupportedError. If |server_certificate_data|
+ // is empty, reject with kExceptionTypeError. Any other error should be
+ // rejected with kExceptionInvalidStateError or kExceptionQuotaExceededError.
+ // TODO(crbug.com/796417): Add support for the promise to return true or
+ // false, rather than using kExceptionNotSupportedError to mean false.
+ virtual void SetServerCertificate(uint32_t promise_id,
+ const uint8_t* server_certificate_data,
+ uint32_t server_certificate_data_size) = 0;
+
+ // Creates a session given |session_type|, |init_data_type|, and |init_data|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise().
+ virtual void CreateSessionAndGenerateRequest(uint32_t promise_id,
+ SessionType session_type,
+ InitDataType init_data_type,
+ const uint8_t* init_data,
+ uint32_t init_data_size) = 0;
+
+ // Loads the session of type |session_type| specified by |session_id|.
+ // The CDM must respond by calling either Host::OnResolveNewSessionPromise()
+ // or Host::OnRejectPromise(). If the session is not found, call
+ // Host::OnResolveNewSessionPromise() with session_id = NULL.
+ virtual void LoadSession(uint32_t promise_id,
+ SessionType session_type,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Updates the session with |response|. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise().
+ virtual void UpdateSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size,
+ const uint8_t* response,
+ uint32_t response_size) = 0;
+
+ // Requests that the CDM close the session. The CDM must respond by calling
+ // either Host::OnResolvePromise() or Host::OnRejectPromise() when the request
+ // has been processed. This may be before the session is closed. Once the
+ // session is closed, Host::OnSessionClosed() must also be called.
+ virtual void CloseSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Removes any stored session data associated with this session. Removes all
+ // license(s) and key(s) associated with the session, whether they are in
+ // memory, persistent store, or both. For persistent session types, other
+ // session data (e.g. record of license destruction) will be cleared as
+ // defined for each session type once a release message acknowledgment is
+ // processed by UpdateSession(). The CDM must respond by calling either
+ // Host::OnResolvePromise() or Host::OnRejectPromise() when the request has
+ // been processed.
+ virtual void RemoveSession(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Performs scheduled operation with |context| when the timer fires.
+ virtual void TimerExpired(void* context) = 0;
+
+ // Decrypts the |encrypted_buffer|.
+ //
+ // Returns kSuccess if decryption succeeded, in which case the callee
+ // should have filled the |decrypted_buffer| and passed the ownership of
+ // |data| in |decrypted_buffer| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kDecryptError if any other error happened.
+ // If the return value is not kSuccess, |decrypted_buffer| should be ignored
+ // by the caller.
+ virtual Status Decrypt(const InputBuffer_2& encrypted_buffer,
+ DecryptedBlock* decrypted_buffer) = 0;
+
+ // Initializes the CDM audio decoder with |audio_decoder_config|. This
+ // function must be called before DecryptAndDecodeSamples() is called.
+ //
+ // Returns kSuccess if the |audio_decoder_config| is supported and the CDM
+ // audio decoder is successfully initialized.
+ // Returns kInitializationError if |audio_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeAudioDecoder(
const AudioDecoderConfig_2& audio_decoder_config) = 0;
- // Initializes the CDM video decoder with |video_decoder_config|. This
- // function must be called before DecryptAndDecodeFrame() is called.
- //
- // Returns kSuccess if the |video_decoder_config| is supported and the CDM
- // video decoder is successfully initialized.
- // Returns kInitializationError if |video_decoder_config| is not supported.
- // The CDM may still be able to do Decrypt().
- // Returns kDeferredInitialization if the CDM is not ready to initialize the
- // decoder at this time. Must call Host::OnDeferredInitializationDone() once
- // initialization is complete.
- virtual Status InitializeVideoDecoder(
+ // Initializes the CDM video decoder with |video_decoder_config|. This
+ // function must be called before DecryptAndDecodeFrame() is called.
+ //
+ // Returns kSuccess if the |video_decoder_config| is supported and the CDM
+ // video decoder is successfully initialized.
+ // Returns kInitializationError if |video_decoder_config| is not supported.
+ // The CDM may still be able to do Decrypt().
+ // Returns kDeferredInitialization if the CDM is not ready to initialize the
+ // decoder at this time. Must call Host::OnDeferredInitializationDone() once
+ // initialization is complete.
+ virtual Status InitializeVideoDecoder(
const VideoDecoderConfig_3& video_decoder_config) = 0;
- // De-initializes the CDM decoder and sets it to an uninitialized state. The
- // caller can initialize the decoder again after this call to re-initialize
- // it. This can be used to reconfigure the decoder if the configuration
- // changes.
- virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
-
- // Resets the CDM decoder to an initialized clean state. All internal buffers
- // MUST be flushed.
- virtual void ResetDecoder(StreamType decoder_type) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
- // |video_frame|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
- // kNeedMoreData is returned.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled the |video_frame| and passed the ownership of
- // |frame_buffer| in |video_frame| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // a decoded frame (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |video_frame| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeFrame(const InputBuffer_2& encrypted_buffer,
- VideoFrame_2* video_frame) = 0;
-
- // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
- // |audio_frames|. Upon end-of-stream, the caller should call this function
- // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
- // |audio_frames| is produced.
- //
- // Returns kSuccess if decryption and decoding both succeeded, in which case
- // the callee will have filled |audio_frames| and passed the ownership of
- // |data| in |audio_frames| to the caller.
- // Returns kNoKey if the CDM did not have the necessary decryption key
- // to decrypt.
- // Returns kNeedMoreData if more data was needed by the decoder to generate
- // audio samples (e.g. during initialization and end-of-stream).
- // Returns kDecryptError if any decryption error happened.
- // Returns kDecodeError if any decoding error happened.
- // If the return value is not kSuccess, |audio_frames| should be ignored by
- // the caller.
- virtual Status DecryptAndDecodeSamples(const InputBuffer_2& encrypted_buffer,
- AudioFrames* audio_frames) = 0;
-
- // Called by the host after a platform challenge was initiated via
- // Host::SendPlatformChallenge().
- virtual void OnPlatformChallengeResponse(
+ // De-initializes the CDM decoder and sets it to an uninitialized state. The
+ // caller can initialize the decoder again after this call to re-initialize
+ // it. This can be used to reconfigure the decoder if the configuration
+ // changes.
+ virtual void DeinitializeDecoder(StreamType decoder_type) = 0;
+
+ // Resets the CDM decoder to an initialized clean state. All internal buffers
+ // MUST be flushed.
+ virtual void ResetDecoder(StreamType decoder_type) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into a
+ // |video_frame|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until
+ // kNeedMoreData is returned.
+ //
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled the |video_frame| and passed the ownership of
+ // |frame_buffer| in |video_frame| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // a decoded frame (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |video_frame| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeFrame(const InputBuffer_2& encrypted_buffer,
+ VideoFrame_2* video_frame) = 0;
+
+ // Decrypts the |encrypted_buffer| and decodes the decrypted buffer into
+ // |audio_frames|. Upon end-of-stream, the caller should call this function
+ // repeatedly with empty |encrypted_buffer| (|data| == NULL) until only empty
+ // |audio_frames| is produced.
+ //
+ // Returns kSuccess if decryption and decoding both succeeded, in which case
+ // the callee will have filled |audio_frames| and passed the ownership of
+ // |data| in |audio_frames| to the caller.
+ // Returns kNoKey if the CDM did not have the necessary decryption key
+ // to decrypt.
+ // Returns kNeedMoreData if more data was needed by the decoder to generate
+ // audio samples (e.g. during initialization and end-of-stream).
+ // Returns kDecryptError if any decryption error happened.
+ // Returns kDecodeError if any decoding error happened.
+ // If the return value is not kSuccess, |audio_frames| should be ignored by
+ // the caller.
+ virtual Status DecryptAndDecodeSamples(const InputBuffer_2& encrypted_buffer,
+ AudioFrames* audio_frames) = 0;
+
+ // Called by the host after a platform challenge was initiated via
+ // Host::SendPlatformChallenge().
+ virtual void OnPlatformChallengeResponse(
const PlatformChallengeResponse& response) = 0;
- // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
- // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
- // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
- // then |link_mask| and |output_protection_mask| are undefined and should
- // be ignored.
- virtual void OnQueryOutputProtectionStatus(
+ // Called by the host after a call to Host::QueryOutputProtectionStatus(). The
+ // |link_mask| is a bit mask of OutputLinkTypes and |output_protection_mask|
+ // is a bit mask of OutputProtectionMethods. If |result| is kQueryFailed,
+ // then |link_mask| and |output_protection_mask| are undefined and should
+ // be ignored.
+ virtual void OnQueryOutputProtectionStatus(
QueryResult result,
uint32_t link_mask,
uint32_t output_protection_mask) = 0;
- // Called by the host after a call to Host::RequestStorageId(). If the
- // version of the storage ID requested is available, |storage_id| and
- // |storage_id_size| are set appropriately. |version| will be the same as
- // what was requested, unless 0 (latest) was requested, in which case
- // |version| will be the actual version number for the |storage_id| returned.
- // If the requested version is not available, null/zero will be provided as
- // |storage_id| and |storage_id_size|, respectively, and |version| should be
- // ignored.
- virtual void OnStorageId(uint32_t version,
- const uint8_t* storage_id,
- uint32_t storage_id_size) = 0;
-
- // Destroys the object in the same context as it was created.
- virtual void Destroy() = 0;
-
- protected:
- ContentDecryptionModule_11() {}
- virtual ~ContentDecryptionModule_11() {}
- };
-
- class CDM_CLASS_API Host_9 {
- public:
- static const int kVersion = 9;
-
- // Returns a Buffer* containing non-zero members upon success, or NULL on
- // failure. The caller owns the Buffer* after this call. The buffer is not
- // guaranteed to be zero initialized. The capacity of the allocated Buffer
- // is guaranteed to be not less than |capacity|.
- virtual Buffer* Allocate(uint32_t capacity) = 0;
-
- // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
- // from now with |context|.
- virtual void SetTimer(int64_t delay_ms, void* context) = 0;
-
- // Returns the current wall time.
- virtual Time GetCurrentWallTime() = 0;
-
- // Called by the CDM when a key status is available in response to
- // GetStatusForPolicy().
- virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
- KeyStatus key_status) = 0;
-
- // Called by the CDM when a session is created or loaded and the value for the
- // MediaKeySession's sessionId attribute is available (|session_id|).
- // This must be called before OnSessionMessage() or
- // OnSessionKeysChange() is called for the same session. |session_id_size|
- // should not include null termination.
- // When called in response to LoadSession(), the |session_id| must be the
- // same as the |session_id| passed in LoadSession(), or NULL if the
- // session could not be loaded.
- virtual void OnResolveNewSessionPromise(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Called by the CDM when a session is updated or released.
- virtual void OnResolvePromise(uint32_t promise_id) = 0;
-
- // Called by the CDM when an error occurs as a result of one of the
- // ContentDecryptionModule calls that accept a |promise_id|.
- // |exception| must be specified. |error_message| and |system_code|
- // are optional. |error_message_size| should not include null termination.
- virtual void OnRejectPromise(uint32_t promise_id,
- Exception exception,
- uint32_t system_code,
- const char* error_message,
- uint32_t error_message_size) = 0;
-
- // Called by the CDM when it has a message for session |session_id|.
- // Size parameters should not include null termination.
- virtual void OnSessionMessage(const char* session_id,
- uint32_t session_id_size,
- MessageType message_type,
- const char* message,
- uint32_t message_size) = 0;
-
- // Called by the CDM when there has been a change in keys or their status for
- // session |session_id|. |has_additional_usable_key| should be set if a
- // key is newly usable (e.g. new key available, previously expired key has
- // been renewed, etc.) and the browser should attempt to resume playback.
- // |keys_info| is the list of key IDs for this session along with their
- // current status. |keys_info_count| is the number of entries in |keys_info|.
- // Size parameter for |session_id| should not include null termination.
- virtual void OnSessionKeysChange(const char* session_id,
- uint32_t session_id_size,
- bool has_additional_usable_key,
- const KeyInformation* keys_info,
- uint32_t keys_info_count) = 0;
-
- // Called by the CDM when there has been a change in the expiration time for
- // session |session_id|. This can happen as the result of an Update() call
- // or some other event. If this happens as a result of a call to Update(),
- // it must be called before resolving the Update() promise. |new_expiry_time|
- // represents the time after which the key(s) in the session will no longer
- // be usable for decryption. It can be 0 if no such time exists or if the
- // license explicitly never expires. Size parameter should not include null
- // termination.
- virtual void OnExpirationChange(const char* session_id,
- uint32_t session_id_size,
- Time new_expiry_time) = 0;
-
- // Called by the CDM when session |session_id| is closed. Size
- // parameter should not include null termination.
- virtual void OnSessionClosed(const char* session_id,
- uint32_t session_id_size) = 0;
-
- // The following are optional methods that may not be implemented on all
- // platforms.
-
- // Sends a platform challenge for the given |service_id|. |challenge| is at
- // most 256 bits of data to be signed. Once the challenge has been completed,
- // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
- // with the signed challenge response and platform certificate. Size
- // parameters should not include null termination.
- virtual void SendPlatformChallenge(const char* service_id,
- uint32_t service_id_size,
- const char* challenge,
- uint32_t challenge_size) = 0;
-
- // Attempts to enable output protection (e.g. HDCP) on the display link. The
- // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
- // status callback is issued, the CDM must call QueryOutputProtectionStatus()
- // periodically to ensure the desired protections are applied.
- virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
-
- // Requests the current output protection status. Once the host has the status
- // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
- virtual void QueryOutputProtectionStatus() = 0;
-
- // Must be called by the CDM if it returned kDeferredInitialization during
- // InitializeAudioDecoder() or InitializeVideoDecoder().
- virtual void OnDeferredInitializationDone(StreamType stream_type,
- Status decoder_status) = 0;
-
- // Creates a FileIO object from the host to do file IO operation. Returns NULL
- // if a FileIO object cannot be obtained. Once a valid FileIO object is
- // returned, |client| must be valid until FileIO::Close() is called. The
- // CDM can call this method multiple times to operate on different files.
- virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
-
- // Requests a specific version of the storage ID. A storage ID is a stable,
- // device specific ID used by the CDM to securely store persistent data. The
- // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
- // If |version| is 0, the latest version will be returned. All |version|s
- // that are greater than or equal to 0x80000000 are reserved for the CDM and
- // should not be supported or returned by the host. The CDM must not expose
- // the ID outside the client device, even in encrypted form.
- virtual void RequestStorageId(uint32_t version) = 0;
-
- protected:
- Host_9() {}
- virtual ~Host_9() {}
- };
-
- class CDM_CLASS_API Host_10 {
- public:
- static const int kVersion = 10;
-
- // Returns a Buffer* containing non-zero members upon success, or NULL on
- // failure. The caller owns the Buffer* after this call. The buffer is not
- // guaranteed to be zero initialized. The capacity of the allocated Buffer
- // is guaranteed to be not less than |capacity|.
- virtual Buffer* Allocate(uint32_t capacity) = 0;
-
- // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
- // from now with |context|.
- virtual void SetTimer(int64_t delay_ms, void* context) = 0;
-
- // Returns the current wall time.
- virtual Time GetCurrentWallTime() = 0;
-
- // Called by the CDM with the result after the CDM instance was initialized.
- virtual void OnInitialized(bool success) = 0;
-
- // Called by the CDM when a key status is available in response to
- // GetStatusForPolicy().
- virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
- KeyStatus key_status) = 0;
-
- // Called by the CDM when a session is created or loaded and the value for the
- // MediaKeySession's sessionId attribute is available (|session_id|).
- // This must be called before OnSessionMessage() or
- // OnSessionKeysChange() is called for the same session. |session_id_size|
- // should not include null termination.
- // When called in response to LoadSession(), the |session_id| must be the
- // same as the |session_id| passed in LoadSession(), or NULL if the
- // session could not be loaded.
- virtual void OnResolveNewSessionPromise(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Called by the CDM when a session is updated or released.
- virtual void OnResolvePromise(uint32_t promise_id) = 0;
-
- // Called by the CDM when an error occurs as a result of one of the
- // ContentDecryptionModule calls that accept a |promise_id|.
- // |exception| must be specified. |error_message| and |system_code|
- // are optional. |error_message_size| should not include null termination.
- virtual void OnRejectPromise(uint32_t promise_id,
- Exception exception,
- uint32_t system_code,
- const char* error_message,
- uint32_t error_message_size) = 0;
-
- // Called by the CDM when it has a message for session |session_id|.
- // Size parameters should not include null termination.
- virtual void OnSessionMessage(const char* session_id,
- uint32_t session_id_size,
- MessageType message_type,
- const char* message,
- uint32_t message_size) = 0;
-
- // Called by the CDM when there has been a change in keys or their status for
- // session |session_id|. |has_additional_usable_key| should be set if a
- // key is newly usable (e.g. new key available, previously expired key has
- // been renewed, etc.) and the browser should attempt to resume playback.
- // |keys_info| is the list of key IDs for this session along with their
- // current status. |keys_info_count| is the number of entries in |keys_info|.
- // Size parameter for |session_id| should not include null termination.
- virtual void OnSessionKeysChange(const char* session_id,
- uint32_t session_id_size,
- bool has_additional_usable_key,
- const KeyInformation* keys_info,
- uint32_t keys_info_count) = 0;
-
- // Called by the CDM when there has been a change in the expiration time for
- // session |session_id|. This can happen as the result of an Update() call
- // or some other event. If this happens as a result of a call to Update(),
- // it must be called before resolving the Update() promise. |new_expiry_time|
- // represents the time after which the key(s) in the session will no longer
- // be usable for decryption. It can be 0 if no such time exists or if the
- // license explicitly never expires. Size parameter should not include null
- // termination.
- virtual void OnExpirationChange(const char* session_id,
- uint32_t session_id_size,
- Time new_expiry_time) = 0;
-
- // Called by the CDM when session |session_id| is closed. Size
- // parameter should not include null termination.
- virtual void OnSessionClosed(const char* session_id,
- uint32_t session_id_size) = 0;
-
- // The following are optional methods that may not be implemented on all
- // platforms.
-
- // Sends a platform challenge for the given |service_id|. |challenge| is at
- // most 256 bits of data to be signed. Once the challenge has been completed,
- // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
- // with the signed challenge response and platform certificate. Size
- // parameters should not include null termination.
- virtual void SendPlatformChallenge(const char* service_id,
- uint32_t service_id_size,
- const char* challenge,
- uint32_t challenge_size) = 0;
-
- // Attempts to enable output protection (e.g. HDCP) on the display link. The
- // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
- // status callback is issued, the CDM must call QueryOutputProtectionStatus()
- // periodically to ensure the desired protections are applied.
- virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
-
- // Requests the current output protection status. Once the host has the status
- // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
- virtual void QueryOutputProtectionStatus() = 0;
-
- // Must be called by the CDM if it returned kDeferredInitialization during
- // InitializeAudioDecoder() or InitializeVideoDecoder().
- virtual void OnDeferredInitializationDone(StreamType stream_type,
- Status decoder_status) = 0;
-
- // Creates a FileIO object from the host to do file IO operation. Returns NULL
- // if a FileIO object cannot be obtained. Once a valid FileIO object is
- // returned, |client| must be valid until FileIO::Close() is called. The
- // CDM can call this method multiple times to operate on different files.
- virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
-
- // Requests a specific version of the storage ID. A storage ID is a stable,
- // device specific ID used by the CDM to securely store persistent data. The
- // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
- // If |version| is 0, the latest version will be returned. All |version|s
- // that are greater than or equal to 0x80000000 are reserved for the CDM and
- // should not be supported or returned by the host. The CDM must not expose
- // the ID outside the client device, even in encrypted form.
- virtual void RequestStorageId(uint32_t version) = 0;
-
- protected:
- Host_10() {}
- virtual ~Host_10() {}
- };
-
- class CDM_CLASS_API Host_11 {
- public:
- static const int kVersion = 11;
-
- // Returns a Buffer* containing non-zero members upon success, or NULL on
- // failure. The caller owns the Buffer* after this call. The buffer is not
- // guaranteed to be zero initialized. The capacity of the allocated Buffer
- // is guaranteed to be not less than |capacity|.
- virtual Buffer* Allocate(uint32_t capacity) = 0;
-
- // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
- // from now with |context|.
- virtual void SetTimer(int64_t delay_ms, void* context) = 0;
-
- // Returns the current wall time.
- virtual Time GetCurrentWallTime() = 0;
-
- // Called by the CDM with the result after the CDM instance was initialized.
- virtual void OnInitialized(bool success) = 0;
-
- // Called by the CDM when a key status is available in response to
- // GetStatusForPolicy().
- virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
- KeyStatus key_status) = 0;
-
- // Called by the CDM when a session is created or loaded and the value for the
- // MediaKeySession's sessionId attribute is available (|session_id|).
- // This must be called before OnSessionMessage() or
- // OnSessionKeysChange() is called for the same session. |session_id_size|
- // should not include null termination.
- // When called in response to LoadSession(), the |session_id| must be the
- // same as the |session_id| passed in LoadSession(), or NULL if the
- // session could not be loaded.
- virtual void OnResolveNewSessionPromise(uint32_t promise_id,
- const char* session_id,
- uint32_t session_id_size) = 0;
-
- // Called by the CDM when a session is updated or released.
- virtual void OnResolvePromise(uint32_t promise_id) = 0;
-
- // Called by the CDM when an error occurs as a result of one of the
- // ContentDecryptionModule calls that accept a |promise_id|.
- // |exception| must be specified. |error_message| and |system_code|
- // are optional. |error_message_size| should not include null termination.
- virtual void OnRejectPromise(uint32_t promise_id,
- Exception exception,
- uint32_t system_code,
- const char* error_message,
- uint32_t error_message_size) = 0;
-
- // Called by the CDM when it has a message for session |session_id|.
- // Size parameters should not include null termination.
- virtual void OnSessionMessage(const char* session_id,
- uint32_t session_id_size,
- MessageType message_type,
- const char* message,
- uint32_t message_size) = 0;
-
- // Called by the CDM when there has been a change in keys or their status for
- // session |session_id|. |has_additional_usable_key| should be set if a
- // key is newly usable (e.g. new key available, previously expired key has
- // been renewed, etc.) and the browser should attempt to resume playback.
- // |keys_info| is the list of key IDs for this session along with their
- // current status. |keys_info_count| is the number of entries in |keys_info|.
- // Size parameter for |session_id| should not include null termination.
- virtual void OnSessionKeysChange(const char* session_id,
- uint32_t session_id_size,
- bool has_additional_usable_key,
- const KeyInformation* keys_info,
- uint32_t keys_info_count) = 0;
-
- // Called by the CDM when there has been a change in the expiration time for
- // session |session_id|. This can happen as the result of an Update() call
- // or some other event. If this happens as a result of a call to Update(),
- // it must be called before resolving the Update() promise. |new_expiry_time|
- // represents the time after which the key(s) in the session will no longer
- // be usable for decryption. It can be 0 if no such time exists or if the
- // license explicitly never expires. Size parameter should not include null
- // termination.
- virtual void OnExpirationChange(const char* session_id,
- uint32_t session_id_size,
- Time new_expiry_time) = 0;
-
- // Called by the CDM when session |session_id| is closed. Size
- // parameter should not include null termination.
- virtual void OnSessionClosed(const char* session_id,
- uint32_t session_id_size) = 0;
-
- // The following are optional methods that may not be implemented on all
- // platforms.
-
- // Sends a platform challenge for the given |service_id|. |challenge| is at
- // most 256 bits of data to be signed. Once the challenge has been completed,
- // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
- // with the signed challenge response and platform certificate. Size
- // parameters should not include null termination.
- virtual void SendPlatformChallenge(const char* service_id,
- uint32_t service_id_size,
- const char* challenge,
- uint32_t challenge_size) = 0;
-
- // Attempts to enable output protection (e.g. HDCP) on the display link. The
- // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
- // status callback is issued, the CDM must call QueryOutputProtectionStatus()
- // periodically to ensure the desired protections are applied.
- virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
-
- // Requests the current output protection status. Once the host has the status
- // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
- virtual void QueryOutputProtectionStatus() = 0;
-
- // Must be called by the CDM if it returned kDeferredInitialization during
- // InitializeAudioDecoder() or InitializeVideoDecoder().
- virtual void OnDeferredInitializationDone(StreamType stream_type,
- Status decoder_status) = 0;
-
- // Creates a FileIO object from the host to do file IO operation. Returns NULL
- // if a FileIO object cannot be obtained. Once a valid FileIO object is
- // returned, |client| must be valid until FileIO::Close() is called. The
- // CDM can call this method multiple times to operate on different files.
- virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
-
- // Requests a CdmProxy that proxies part of CDM functionalities to a different
- // entity, e.g. a hardware CDM module. A CDM instance can have at most one
- // CdmProxy throughout its lifetime, which must be requested and initialized
- // during CDM instance initialization time, i.e. in or after CDM::Initialize()
- // and before OnInitialized() is called, to ensure proper connection of the
- // CdmProxy and the media player (e.g. hardware decoder). The CdmProxy is
- // owned by the host and is guaranteed to be valid throughout the CDM
- // instance's lifetime. The CDM must ensure that the |client| remain valid
- // before the CDM instance is destroyed. Returns null if CdmProxy is not
- // supported, called before CDM::Initialize(), RequestCdmProxy() is called
- // more than once, or called after the CDM instance has been initialized.
- virtual CdmProxy* RequestCdmProxy(CdmProxyClient* client) = 0;
-
- // Requests a specific version of the storage ID. A storage ID is a stable,
- // device specific ID used by the CDM to securely store persistent data. The
- // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
- // If |version| is 0, the latest version will be returned. All |version|s
- // that are greater than or equal to 0x80000000 are reserved for the CDM and
- // should not be supported or returned by the host. The CDM must not expose
- // the ID outside the client device, even in encrypted form.
- virtual void RequestStorageId(uint32_t version) = 0;
-
- protected:
- Host_11() {}
- virtual ~Host_11() {}
- };
+ // Called by the host after a call to Host::RequestStorageId(). If the
+ // version of the storage ID requested is available, |storage_id| and
+ // |storage_id_size| are set appropriately. |version| will be the same as
+ // what was requested, unless 0 (latest) was requested, in which case
+ // |version| will be the actual version number for the |storage_id| returned.
+ // If the requested version is not available, null/zero will be provided as
+ // |storage_id| and |storage_id_size|, respectively, and |version| should be
+ // ignored.
+ virtual void OnStorageId(uint32_t version,
+ const uint8_t* storage_id,
+ uint32_t storage_id_size) = 0;
+
+ // Destroys the object in the same context as it was created.
+ virtual void Destroy() = 0;
+
+ protected:
+ ContentDecryptionModule_12() {}
+ virtual ~ContentDecryptionModule_12() {}
+};
+
+class CDM_CLASS_API Host_10 {
+ public:
+ static const int kVersion = 10;
+
+ // Returns a Buffer* containing non-zero members upon success, or NULL on
+ // failure. The caller owns the Buffer* after this call. The buffer is not
+ // guaranteed to be zero initialized. The capacity of the allocated Buffer
+ // is guaranteed to be not less than |capacity|.
+ virtual Buffer* Allocate(uint32_t capacity) = 0;
+
+ // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
+ // from now with |context|.
+ virtual void SetTimer(int64_t delay_ms, void* context) = 0;
+
+ // Returns the current wall time.
+ virtual Time GetCurrentWallTime() = 0;
+
+ // Called by the CDM with the result after the CDM instance was initialized.
+ virtual void OnInitialized(bool success) = 0;
+
+ // Called by the CDM when a key status is available in response to
+ // GetStatusForPolicy().
+ virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
+ KeyStatus key_status) = 0;
+
+ // Called by the CDM when a session is created or loaded and the value for the
+ // MediaKeySession's sessionId attribute is available (|session_id|).
+ // This must be called before OnSessionMessage() or
+ // OnSessionKeysChange() is called for the same session. |session_id_size|
+ // should not include null termination.
+ // When called in response to LoadSession(), the |session_id| must be the
+ // same as the |session_id| passed in LoadSession(), or NULL if the
+ // session could not be loaded.
+ virtual void OnResolveNewSessionPromise(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Called by the CDM when a session is updated or released.
+ virtual void OnResolvePromise(uint32_t promise_id) = 0;
+
+ // Called by the CDM when an error occurs as a result of one of the
+ // ContentDecryptionModule calls that accept a |promise_id|.
+ // |exception| must be specified. |error_message| and |system_code|
+ // are optional. |error_message_size| should not include null termination.
+ virtual void OnRejectPromise(uint32_t promise_id,
+ Exception exception,
+ uint32_t system_code,
+ const char* error_message,
+ uint32_t error_message_size) = 0;
+
+ // Called by the CDM when it has a message for session |session_id|.
+ // Size parameters should not include null termination.
+ virtual void OnSessionMessage(const char* session_id,
+ uint32_t session_id_size,
+ MessageType message_type,
+ const char* message,
+ uint32_t message_size) = 0;
+
+ // Called by the CDM when there has been a change in keys or their status for
+ // session |session_id|. |has_additional_usable_key| should be set if a
+ // key is newly usable (e.g. new key available, previously expired key has
+ // been renewed, etc.) and the browser should attempt to resume playback.
+ // |keys_info| is the list of key IDs for this session along with their
+ // current status. |keys_info_count| is the number of entries in |keys_info|.
+ // Size parameter for |session_id| should not include null termination.
+ virtual void OnSessionKeysChange(const char* session_id,
+ uint32_t session_id_size,
+ bool has_additional_usable_key,
+ const KeyInformation* keys_info,
+ uint32_t keys_info_count) = 0;
+
+ // Called by the CDM when there has been a change in the expiration time for
+ // session |session_id|. This can happen as the result of an Update() call
+ // or some other event. If this happens as a result of a call to Update(),
+ // it must be called before resolving the Update() promise. |new_expiry_time|
+ // represents the time after which the key(s) in the session will no longer
+ // be usable for decryption. It can be 0 if no such time exists or if the
+ // license explicitly never expires. Size parameter should not include null
+ // termination.
+ virtual void OnExpirationChange(const char* session_id,
+ uint32_t session_id_size,
+ Time new_expiry_time) = 0;
+
+ // Called by the CDM when session |session_id| is closed. Size
+ // parameter should not include null termination.
+ virtual void OnSessionClosed(const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // The following are optional methods that may not be implemented on all
+ // platforms.
+
+ // Sends a platform challenge for the given |service_id|. |challenge| is at
+ // most 256 bits of data to be signed. Once the challenge has been completed,
+ // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
+ // with the signed challenge response and platform certificate. Size
+ // parameters should not include null termination.
+ virtual void SendPlatformChallenge(const char* service_id,
+ uint32_t service_id_size,
+ const char* challenge,
+ uint32_t challenge_size) = 0;
+
+ // Attempts to enable output protection (e.g. HDCP) on the display link. The
+ // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
+ // status callback is issued, the CDM must call QueryOutputProtectionStatus()
+ // periodically to ensure the desired protections are applied.
+ virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
+
+ // Requests the current output protection status. Once the host has the status
+ // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
+ virtual void QueryOutputProtectionStatus() = 0;
+
+ // Must be called by the CDM if it returned kDeferredInitialization during
+ // InitializeAudioDecoder() or InitializeVideoDecoder().
+ virtual void OnDeferredInitializationDone(StreamType stream_type,
+ Status decoder_status) = 0;
+
+ // Creates a FileIO object from the host to do file IO operation. Returns NULL
+ // if a FileIO object cannot be obtained. Once a valid FileIO object is
+ // returned, |client| must be valid until FileIO::Close() is called. The
+ // CDM can call this method multiple times to operate on different files.
+ virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
+
+ // Requests a specific version of the storage ID. A storage ID is a stable,
+ // device specific ID used by the CDM to securely store persistent data. The
+ // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
+ // If |version| is 0, the latest version will be returned. All |version|s
+ // that are greater than or equal to 0x80000000 are reserved for the CDM and
+ // should not be supported or returned by the host. The CDM must not expose
+ // the ID outside the client device, even in encrypted form.
+ virtual void RequestStorageId(uint32_t version) = 0;
+
+ protected:
+ Host_10() {}
+ virtual ~Host_10() {}
+};
+
+class CDM_CLASS_API Host_11 {
+ public:
+ static const int kVersion = 11;
+
+ // Returns a Buffer* containing non-zero members upon success, or NULL on
+ // failure. The caller owns the Buffer* after this call. The buffer is not
+ // guaranteed to be zero initialized. The capacity of the allocated Buffer
+ // is guaranteed to be not less than |capacity|.
+ virtual Buffer* Allocate(uint32_t capacity) = 0;
+
+ // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
+ // from now with |context|.
+ virtual void SetTimer(int64_t delay_ms, void* context) = 0;
+
+ // Returns the current wall time.
+ virtual Time GetCurrentWallTime() = 0;
+
+ // Called by the CDM with the result after the CDM instance was initialized.
+ virtual void OnInitialized(bool success) = 0;
+
+ // Called by the CDM when a key status is available in response to
+ // GetStatusForPolicy().
+ virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
+ KeyStatus key_status) = 0;
+
+ // Called by the CDM when a session is created or loaded and the value for the
+ // MediaKeySession's sessionId attribute is available (|session_id|).
+ // This must be called before OnSessionMessage() or
+ // OnSessionKeysChange() is called for the same session. |session_id_size|
+ // should not include null termination.
+ // When called in response to LoadSession(), the |session_id| must be the
+ // same as the |session_id| passed in LoadSession(), or NULL if the
+ // session could not be loaded.
+ virtual void OnResolveNewSessionPromise(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Called by the CDM when a session is updated or released.
+ virtual void OnResolvePromise(uint32_t promise_id) = 0;
+
+ // Called by the CDM when an error occurs as a result of one of the
+ // ContentDecryptionModule calls that accept a |promise_id|.
+ // |exception| must be specified. |error_message| and |system_code|
+ // are optional. |error_message_size| should not include null termination.
+ virtual void OnRejectPromise(uint32_t promise_id,
+ Exception exception,
+ uint32_t system_code,
+ const char* error_message,
+ uint32_t error_message_size) = 0;
+
+ // Called by the CDM when it has a message for session |session_id|.
+ // Size parameters should not include null termination.
+ virtual void OnSessionMessage(const char* session_id,
+ uint32_t session_id_size,
+ MessageType message_type,
+ const char* message,
+ uint32_t message_size) = 0;
+
+ // Called by the CDM when there has been a change in keys or their status for
+ // session |session_id|. |has_additional_usable_key| should be set if a
+ // key is newly usable (e.g. new key available, previously expired key has
+ // been renewed, etc.) and the browser should attempt to resume playback.
+ // |keys_info| is the list of key IDs for this session along with their
+ // current status. |keys_info_count| is the number of entries in |keys_info|.
+ // Size parameter for |session_id| should not include null termination.
+ virtual void OnSessionKeysChange(const char* session_id,
+ uint32_t session_id_size,
+ bool has_additional_usable_key,
+ const KeyInformation* keys_info,
+ uint32_t keys_info_count) = 0;
+
+ // Called by the CDM when there has been a change in the expiration time for
+ // session |session_id|. This can happen as the result of an Update() call
+ // or some other event. If this happens as a result of a call to Update(),
+ // it must be called before resolving the Update() promise. |new_expiry_time|
+ // represents the time after which the key(s) in the session will no longer
+ // be usable for decryption. It can be 0 if no such time exists or if the
+ // license explicitly never expires. Size parameter should not include null
+ // termination.
+ virtual void OnExpirationChange(const char* session_id,
+ uint32_t session_id_size,
+ Time new_expiry_time) = 0;
+
+ // Called by the CDM when session |session_id| is closed. Size
+ // parameter should not include null termination.
+ virtual void OnSessionClosed(const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // The following are optional methods that may not be implemented on all
+ // platforms.
+
+ // Sends a platform challenge for the given |service_id|. |challenge| is at
+ // most 256 bits of data to be signed. Once the challenge has been completed,
+ // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
+ // with the signed challenge response and platform certificate. Size
+ // parameters should not include null termination.
+ virtual void SendPlatformChallenge(const char* service_id,
+ uint32_t service_id_size,
+ const char* challenge,
+ uint32_t challenge_size) = 0;
+
+ // Attempts to enable output protection (e.g. HDCP) on the display link. The
+ // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
+ // status callback is issued, the CDM must call QueryOutputProtectionStatus()
+ // periodically to ensure the desired protections are applied.
+ virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
+
+ // Requests the current output protection status. Once the host has the status
+ // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
+ virtual void QueryOutputProtectionStatus() = 0;
+
+ // Must be called by the CDM if it returned kDeferredInitialization during
+ // InitializeAudioDecoder() or InitializeVideoDecoder().
+ virtual void OnDeferredInitializationDone(StreamType stream_type,
+ Status decoder_status) = 0;
+
+ // Creates a FileIO object from the host to do file IO operation. Returns NULL
+ // if a FileIO object cannot be obtained. Once a valid FileIO object is
+ // returned, |client| must be valid until FileIO::Close() is called. The
+ // CDM can call this method multiple times to operate on different files.
+ virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
+
+ // Requests a specific version of the storage ID. A storage ID is a stable,
+ // device specific ID used by the CDM to securely store persistent data. The
+ // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
+ // If |version| is 0, the latest version will be returned. All |version|s
+ // that are greater than or equal to 0x80000000 are reserved for the CDM and
+ // should not be supported or returned by the host. The CDM must not expose
+ // the ID outside the client device, even in encrypted form.
+ virtual void RequestStorageId(uint32_t version) = 0;
+
+ // Reports the metric |metric_name| with value |value| to the host. Can be
+ // called by the CDM at any time. May report the same metric multiple times
+ // during the lifetime of the CDM.
+ virtual void ReportMetrics(MetricName metric_name, uint64_t value) = 0;
+
+ protected:
+ Host_11() {}
+ virtual ~Host_11() {}
+};
+
+class CDM_CLASS_API Host_12 {
+ public:
+ static const int kVersion = 12;
+
+ // Returns a Buffer* containing non-zero members upon success, or NULL on
+ // failure. The caller owns the Buffer* after this call. The buffer is not
+ // guaranteed to be zero initialized. The capacity of the allocated Buffer
+ // is guaranteed to be not less than |capacity|.
+ virtual Buffer* Allocate(uint32_t capacity) = 0;
+
+ // Requests the host to call ContentDecryptionModule::TimerFired() |delay_ms|
+ // from now with |context|.
+ virtual void SetTimer(int64_t delay_ms, void* context) = 0;
+
+ // Returns the current wall time.
+ virtual Time GetCurrentWallTime() = 0;
+
+ // Called by the CDM with the result after the CDM instance was initialized.
+ virtual void OnInitialized(bool success) = 0;
+
+ // Called by the CDM when a key status is available in response to
+ // GetStatusForPolicy().
+ virtual void OnResolveKeyStatusPromise(uint32_t promise_id,
+ KeyStatus_2 key_status) = 0;
+
+ // Called by the CDM when a session is created or loaded and the value for the
+ // MediaKeySession's sessionId attribute is available (|session_id|).
+ // This must be called before OnSessionMessage() or
+ // OnSessionKeysChange() is called for the same session. |session_id_size|
+ // should not include null termination.
+ // When called in response to LoadSession(), the |session_id| must be the
+ // same as the |session_id| passed in LoadSession(), or NULL if the
+ // session could not be loaded.
+ virtual void OnResolveNewSessionPromise(uint32_t promise_id,
+ const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // Called by the CDM when a session is updated or released.
+ virtual void OnResolvePromise(uint32_t promise_id) = 0;
+
+ // Called by the CDM when an error occurs as a result of one of the
+ // ContentDecryptionModule calls that accept a |promise_id|.
+ // |exception| must be specified. |error_message| and |system_code|
+ // are optional. |error_message_size| should not include null termination.
+ virtual void OnRejectPromise(uint32_t promise_id,
+ Exception exception,
+ uint32_t system_code,
+ const char* error_message,
+ uint32_t error_message_size) = 0;
+
+ // Called by the CDM when it has a message for session |session_id|.
+ // Size parameters should not include null termination.
+ virtual void OnSessionMessage(const char* session_id,
+ uint32_t session_id_size,
+ MessageType message_type,
+ const char* message,
+ uint32_t message_size) = 0;
+
+ // Called by the CDM when there has been a change in keys or their status for
+ // session |session_id|. |has_additional_usable_key| should be set if a
+ // key is newly usable (e.g. new key available, previously expired key has
+ // been renewed, etc.) and the browser should attempt to resume playback.
+ // |keys_info| is the list of key IDs for this session along with their
+ // current status. |keys_info_count| is the number of entries in |keys_info|.
+ // Size parameter for |session_id| should not include null termination.
+ virtual void OnSessionKeysChange(const char* session_id,
+ uint32_t session_id_size,
+ bool has_additional_usable_key,
+ const KeyInformation_2* keys_info,
+ uint32_t keys_info_count) = 0;
+
+ // Called by the CDM when there has been a change in the expiration time for
+ // session |session_id|. This can happen as the result of an Update() call
+ // or some other event. If this happens as a result of a call to Update(),
+ // it must be called before resolving the Update() promise. |new_expiry_time|
+ // represents the time after which the key(s) in the session will no longer
+ // be usable for decryption. It can be 0 if no such time exists or if the
+ // license explicitly never expires. Size parameter should not include null
+ // termination.
+ virtual void OnExpirationChange(const char* session_id,
+ uint32_t session_id_size,
+ Time new_expiry_time) = 0;
+
+ // Called by the CDM when session |session_id| is closed. Size
+ // parameter should not include null termination.
+ virtual void OnSessionClosed(const char* session_id,
+ uint32_t session_id_size) = 0;
+
+ // The following are optional methods that may not be implemented on all
+ // platforms.
+
+ // Sends a platform challenge for the given |service_id|. |challenge| is at
+ // most 256 bits of data to be signed. Once the challenge has been completed,
+ // the host will call ContentDecryptionModule::OnPlatformChallengeResponse()
+ // with the signed challenge response and platform certificate. Size
+ // parameters should not include null termination.
+ virtual void SendPlatformChallenge(const char* service_id,
+ uint32_t service_id_size,
+ const char* challenge,
+ uint32_t challenge_size) = 0;
+
+ // Attempts to enable output protection (e.g. HDCP) on the display link. The
+ // |desired_protection_mask| is a bit mask of OutputProtectionMethods. No
+ // status callback is issued, the CDM must call QueryOutputProtectionStatus()
+ // periodically to ensure the desired protections are applied.
+ virtual void EnableOutputProtection(uint32_t desired_protection_mask) = 0;
+
+ // Requests the current output protection status. Once the host has the status
+ // it will call ContentDecryptionModule::OnQueryOutputProtectionStatus().
+ virtual void QueryOutputProtectionStatus() = 0;
+
+ // Must be called by the CDM if it returned kDeferredInitialization during
+ // InitializeAudioDecoder() or InitializeVideoDecoder().
+ virtual void OnDeferredInitializationDone(StreamType stream_type,
+ Status decoder_status) = 0;
+
+ // Creates a FileIO object from the host to do file IO operation. Returns NULL
+ // if a FileIO object cannot be obtained. Once a valid FileIO object is
+ // returned, |client| must be valid until FileIO::Close() is called. The
+ // CDM can call this method multiple times to operate on different files.
+ virtual FileIO* CreateFileIO(FileIOClient* client) = 0;
+
+ // Requests a specific version of the storage ID. A storage ID is a stable,
+ // device specific ID used by the CDM to securely store persistent data. The
+ // ID will be returned by the host via ContentDecryptionModule::OnStorageId().
+ // If |version| is 0, the latest version will be returned. All |version|s
+ // that are greater than or equal to 0x80000000 are reserved for the CDM and
+ // should not be supported or returned by the host. The CDM must not expose
+ // the ID outside the client device, even in encrypted form.
+ virtual void RequestStorageId(uint32_t version) = 0;
+
+ // Reports the metric |metric_name| with value |value| to the host. Can be
+ // called by the CDM at any time. May report the same metric multiple times
+ // during the lifetime of the CDM.
+ virtual void ReportMetrics(MetricName metric_name, uint64_t value) = 0;
+
+ protected:
+ Host_12() {}
+ virtual ~Host_12() {}
+};
} // namespace cdm
-#endif // CDM_CONTENT_DECRYPTION_MODULE_H_
\ No newline at end of file
+#endif // CDM_CONTENT_DECRYPTION_MODULE_H_
diff --git a/lib/cdm/cdm/media/cdm/api/content_decryption_module_proxy.h b/lib/cdm/cdm/media/cdm/api/content_decryption_module_proxy.h
deleted file mode 100644
index e7ef22446..000000000
--- a/lib/cdm/cdm/media/cdm/api/content_decryption_module_proxy.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2017 The Chromium Authors. All rights reserved.
- * This file is part of Kodi - https://kodi.tv
- *
- * SPDX-License-Identifier: BSD-3-Clause
- * See LICENSES/README.md for more information.
- */
-
-#ifndef CDM_CONTENT_DECRYPTION_MODULE_PROXY_H_
-#define CDM_CONTENT_DECRYPTION_MODULE_PROXY_H_
-#include "content_decryption_module_export.h"
-#if defined(_MSC_VER)
-typedef unsigned char uint8_t;
-typedef unsigned int uint32_t;
-typedef unsigned __int64 uint64_t;
-#else
-#include
-#endif
-namespace cdm {
-class CDM_CLASS_API CdmProxyClient;
-// A proxy class for the CDM.
-// In general, the interpretation of the CdmProxy and CdmProxyClient method
-// parameters are protocol dependent. For enum parameters, values outside the
-// enum range may not work.
-class CDM_CLASS_API CdmProxy {
- public:
- enum Function : uint32_t {
- // For Intel Negotiate Crypto SessionKey Exchange (CSME) path to call
- // ID3D11VideoContext::NegotiateCryptoSessionKeyExchange.
- kIntelNegotiateCryptoSessionKeyExchange = 1,
- // There will be more values in the future e.g. for D3D11 RSA method.
- };
- // Initializes the proxy. The results will be returned in
- // CdmProxyClient::OnInitialized().
- virtual void Initialize() = 0;
- // Processes and updates the state of the proxy.
- // |output_data_size| is required by some protocol to set up the output data.
- // The operation may fail if the |output_data_size| is wrong. The results will
- // be returned in CdmProxyClient::OnProcessed().
- virtual void Process(Function function,
- uint32_t crypto_session_id,
- const uint8_t* input_data,
- uint32_t input_data_size,
- uint32_t output_data_size) = 0;
- // Creates a crypto session for handling media.
- // If extra data has to be passed to further setup the media crypto session,
- // pass the data as |input_data|. The results will be returned in
- // CdmProxyClient::OnMediaCryptoSessionCreated().
- virtual void CreateMediaCryptoSession(const uint8_t* input_data,
- uint32_t input_data_size) = 0;
- // Sets a key for the session identified by |crypto_session_id|.
- virtual void SetKey(uint32_t crypto_session_id,
- const uint8_t* key_id,
- uint32_t key_id_size,
- const uint8_t* key_blob,
- uint32_t key_blob_size) = 0;
- // Removes a key for the session identified by |crypto_session_id|.
- virtual void RemoveKey(uint32_t crypto_session_id,
- const uint8_t* key_id,
- uint32_t key_id_size) = 0;
- protected:
- CdmProxy() {}
- virtual ~CdmProxy() {}
-};
-// Responses to CdmProxy calls. All responses will be called asynchronously.
-class CDM_CLASS_API CdmProxyClient {
- public:
- enum Status : uint32_t {
- kOk,
- kFail,
- };
- enum Protocol : uint32_t {
- kNone = 0, // No protocol supported. Can be used in failure cases.
- kIntelConvergedSecurityAndManageabilityEngine, // Method using Intel CSME.
- // There will be more values in the future e.g. kD3D11RsaHardware,
- // kD3D11RsaSoftware to use the D3D11 RSA method.
- };
- // Callback for Initialize(). If the proxy created a crypto session, then the
- // ID for the crypto session is |crypto_session_id|.
- virtual void OnInitialized(Status status,
- Protocol protocol,
- uint32_t crypto_session_id) = 0;
- // Callback for Process(). |output_data| is the output of processing.
- virtual void OnProcessed(Status status,
- const uint8_t* output_data,
- uint32_t output_data_size) = 0;
- // Callback for CreateMediaCryptoSession(). On success:
- // - |crypto_session_id| is the ID for the created crypto session.
- // - |output_data| is extra value, if any.
- // Otherwise, |crypto_session_id| and |output_data| should be ignored.
- virtual void OnMediaCryptoSessionCreated(Status status,
- uint32_t crypto_session_id,
- uint64_t output_data) = 0;
- // Called when there is a hardware reset and all the hardware context is lost.
- virtual void NotifyHardwareReset() = 0;
- protected:
- CdmProxyClient() {}
- virtual ~CdmProxyClient() {}
-};
-} // namespace cdm
-#endif // CDM_CONTENT_DECRYPTION_MODULE_PROXY_H_
\ No newline at end of file
diff --git a/lib/cdm/cdm/media/cdm/cdm_adapter.cc b/lib/cdm/cdm/media/cdm/cdm_adapter.cc
index 0d5e961fc..b12442f54 100644
--- a/lib/cdm/cdm/media/cdm/cdm_adapter.cc
+++ b/lib/cdm/cdm/media/cdm/cdm_adapter.cc
@@ -8,11 +8,13 @@
#include "cdm_adapter.h"
-//! @todo: provide an appropriate interface for log output
-#include "../../src/utils/log.h"
+#include "../../debug.h"
+#include "../base/limits.h"
#include
+#include
#include
+
#include
#ifdef _WIN32
@@ -21,8 +23,6 @@
#define DCHECK(condition) assert(condition)
-#include "../base/limits.h"
-
#ifdef __APPLE__
#include
//clock_gettime is not implemented on OSX
@@ -39,6 +39,8 @@ int clock_gettime(int clk_id, struct timespec* t) {
#endif
#endif
+using namespace CDM_DBG;
+
namespace media {
uint64_t gtc()
@@ -68,12 +70,12 @@ void* GetCdmHost(int host_interface_version, void* user_data)
switch (host_interface_version)
{
- case cdm::Host_9::kVersion:
- return static_cast(adapter);
case cdm::Host_10::kVersion:
return static_cast(adapter);
case cdm::Host_11::kVersion:
return static_cast(adapter);
+ case cdm::Host_12::kVersion:
+ return static_cast(adapter);
default:
return nullptr;
}
@@ -147,22 +149,6 @@ bool CreateDirs(const char* path)
} // namespace
-cdm::AudioDecoderConfig_1 ToAudioDecoderConfig_1(
- const cdm::AudioDecoderConfig_2& config) {
- return{ config.codec,
- config.channel_count,
- config.bits_per_channel,
- config.samples_per_second,
- config.extra_data,
- config.extra_data_size };
-}
-
-cdm::VideoDecoderConfig_1 ToVideoDecoderConfig_1(
- const cdm::VideoDecoderConfig_3& config) {
- return{ config.codec, config.profile, config.format,
- config.coded_size, config.extra_data, config.extra_data_size };
-}
-
cdm::VideoDecoderConfig_2 ToVideoDecoderConfig_2(
const cdm::VideoDecoderConfig_3& config) {
return{ config.codec,
@@ -174,13 +160,6 @@ cdm::VideoDecoderConfig_2 ToVideoDecoderConfig_2(
config.encryption_scheme };
}
-cdm::InputBuffer_1 ToInputBuffer_1(const cdm::InputBuffer_2& buffer) {
- return{ buffer.data, buffer.data_size,
- buffer.key_id, buffer.key_id_size,
- buffer.iv, buffer.iv_size,
- buffer.subsamples, buffer.num_subsamples,
- buffer.timestamp };
-}
/******************************* CdmAdapter ****************************************/
@@ -198,7 +177,6 @@ CdmAdapter::CdmAdapter(
, key_system_(key_system)
, cdm_config_(cdm_config)
, active_buffer_(0)
-, cdm9_(0), cdm10_(0), cdm11_(0)
{
//DCHECK(!key_system_.empty());
Initialize();
@@ -206,12 +184,12 @@ CdmAdapter::CdmAdapter(
CdmAdapter::~CdmAdapter()
{
- if (cdm9_)
- cdm9_->Destroy(), cdm9_ = nullptr;
- else if (cdm10_)
- cdm10_->Destroy(), cdm10_ = nullptr;
+ if (cdm12_)
+ cdm12_->Destroy(), cdm12_ = nullptr;
else if (cdm11_)
cdm11_->Destroy(), cdm11_ = nullptr;
+ else if (cdm10_)
+ cdm10_->Destroy(), cdm10_ = nullptr;
else
return;
@@ -223,14 +201,14 @@ CdmAdapter::~CdmAdapter()
void CdmAdapter::Initialize()
{
m_isClosingSession = false;
- if (cdm9_ || cdm10_ || cdm11_)
+ if (cdm12_ || cdm11_ || cdm10_)
{
- if (cdm9_)
- cdm9_->Destroy(), cdm9_ = nullptr;
- else if (cdm10_)
- cdm10_->Destroy(), cdm10_ = nullptr;
+ if (cdm12_)
+ cdm12_->Destroy(), cdm12_ = nullptr;
else if (cdm11_)
cdm11_->Destroy(), cdm11_ = nullptr;
+ else if (cdm10_)
+ cdm10_->Destroy(), cdm10_ = nullptr;
base::UnloadNativeLibrary(library_);
library_ = 0;
}
@@ -240,8 +218,7 @@ void CdmAdapter::Initialize()
if (!library_)
{
- LOG::LogF(LOGERROR, "%s: Failed to load library: %s", __FUNCTION__,
- error.ToString().c_str());
+ LogF(LogLevel::ERROR, "Failed to load library: %s", error.ToString().c_str());
return;
}
@@ -258,7 +235,7 @@ void CdmAdapter::Initialize()
}
std::string version{get_cdm_verion_func()};
- LOG::LogF(LOGDEBUG, "CDM version: %s", version.c_str());
+ Log(LogLevel::DEBUG, "CDM version: %s", version.c_str());
#if defined(OS_WIN)
// Load DXVA before sandbox lockdown to give CDM access to Output Protection
@@ -268,27 +245,32 @@ void CdmAdapter::Initialize()
init_cdm_func();
- cdm11_ = static_cast(create_cdm_func(11, key_system_.data(), key_system_.size(), GetCdmHost, this));
+ cdm12_ = static_cast(create_cdm_func(
+ 12, key_system_.data(), static_cast(key_system_.size()), GetCdmHost, this));
- if (!cdm11_)
+ if (!cdm12_)
{
- cdm10_ = static_cast(create_cdm_func(10, key_system_.data(), key_system_.size(), GetCdmHost, this));
+ cdm11_ = static_cast(create_cdm_func(
+ 11, key_system_.data(), static_cast(key_system_.size()), GetCdmHost, this));
- if (!cdm10_)
- cdm9_ = reinterpret_cast(create_cdm_func(9, key_system_.data(), key_system_.size(), GetCdmHost, this));
+ if (!cdm11_)
+ {
+ cdm10_ = static_cast(create_cdm_func(
+ 10, key_system_.data(), static_cast(key_system_.size()), GetCdmHost, this));
+ }
}
- if (cdm9_ || cdm10_ || cdm11_)
+ if (cdm12_ || cdm11_ || cdm10_)
{
- if (cdm9_)
- cdm9_->Initialize(cdm_config_.allow_distinctive_identifier,
- cdm_config_.allow_persistent_state);
- else if(cdm10_)
- cdm10_->Initialize(cdm_config_.allow_distinctive_identifier,
+ if(cdm12_)
+ cdm12_->Initialize(cdm_config_.allow_distinctive_identifier,
cdm_config_.allow_persistent_state, false);
else if (cdm11_)
cdm11_->Initialize(cdm_config_.allow_distinctive_identifier,
cdm_config_.allow_persistent_state, false);
+ else if (cdm10_)
+ cdm10_->Initialize(cdm_config_.allow_distinctive_identifier,
+ cdm_config_.allow_persistent_state, false);
}
else
{
@@ -318,15 +300,15 @@ void CdmAdapter::SetServerCertificate(uint32_t promise_id,
server_certificate_data_size > limits::kMaxCertificateLength) {
return;
}
- if (cdm9_)
- cdm9_->SetServerCertificate(promise_id, server_certificate_data,
- server_certificate_data_size);
- else if (cdm10_)
- cdm10_->SetServerCertificate(promise_id, server_certificate_data,
+
+ if (cdm12_)
+ cdm12_->SetServerCertificate(promise_id, server_certificate_data,
server_certificate_data_size);
else if (cdm11_)
cdm11_->SetServerCertificate(promise_id, server_certificate_data,
server_certificate_data_size);
+ else if (cdm10_)
+ cdm10_->SetServerCertificate(promise_id, server_certificate_data, server_certificate_data_size);
}
void CdmAdapter::CreateSessionAndGenerateRequest(uint32_t promise_id,
@@ -335,21 +317,15 @@ void CdmAdapter::CreateSessionAndGenerateRequest(uint32_t promise_id,
const uint8_t* init_data,
uint32_t init_data_size)
{
- if (cdm9_)
- cdm9_->CreateSessionAndGenerateRequest(
- promise_id, session_type,
- init_data_type, init_data,
- init_data_size);
- else if (cdm10_)
- cdm10_->CreateSessionAndGenerateRequest(
- promise_id, session_type,
- init_data_type, init_data,
- init_data_size);
- else if (cdm11_)
- cdm11_->CreateSessionAndGenerateRequest(
- promise_id, session_type,
- init_data_type, init_data,
- init_data_size);
+ if (cdm12_)
+ cdm12_->CreateSessionAndGenerateRequest(promise_id, session_type, init_data_type, init_data,
+ init_data_size);
+ else if (cdm11_)
+ cdm11_->CreateSessionAndGenerateRequest(promise_id, session_type, init_data_type, init_data,
+ init_data_size);
+ else if (cdm10_)
+ cdm10_->CreateSessionAndGenerateRequest(promise_id, session_type, init_data_type, init_data,
+ init_data_size);
}
void CdmAdapter::LoadSession(uint32_t promise_id,
@@ -357,15 +333,12 @@ void CdmAdapter::LoadSession(uint32_t promise_id,
const char* session_id,
uint32_t session_id_size)
{
- if (cdm9_)
- cdm9_->LoadSession(promise_id, session_type,
- session_id, session_id_size);
- else if (cdm10_)
- cdm10_->LoadSession(promise_id, session_type,
- session_id, session_id_size);
+ if (cdm12_)
+ cdm12_->LoadSession(promise_id, session_type, session_id, session_id_size);
else if (cdm11_)
- cdm11_->LoadSession(promise_id, session_type,
- session_id, session_id_size);
+ cdm11_->LoadSession(promise_id, session_type, session_id, session_id_size);
+ else if (cdm10_)
+ cdm10_->LoadSession(promise_id, session_type, session_id, session_id_size);
}
void CdmAdapter::UpdateSession(uint32_t promise_id,
@@ -374,15 +347,12 @@ void CdmAdapter::UpdateSession(uint32_t promise_id,
const uint8_t* response,
uint32_t response_size)
{
- if (cdm9_)
- cdm9_->UpdateSession(promise_id, session_id, session_id_size,
- response, response_size);
- else if(cdm10_)
- cdm10_->UpdateSession(promise_id, session_id, session_id_size,
- response, response_size);
+ if (cdm12_)
+ cdm12_->UpdateSession(promise_id, session_id, session_id_size, response, response_size);
else if (cdm11_)
- cdm11_->UpdateSession(promise_id, session_id, session_id_size,
- response, response_size);
+ cdm11_->UpdateSession(promise_id, session_id, session_id_size, response, response_size);
+ else if (cdm10_)
+ cdm10_->UpdateSession(promise_id, session_id, session_id_size, response, response_size);
}
void CdmAdapter::CloseSession(uint32_t promise_id,
@@ -394,12 +364,12 @@ void CdmAdapter::CloseSession(uint32_t promise_id,
m_isClosingSession = true;
}
m_sessionClosingCond.notify_all();
- if (cdm9_)
- cdm9_->CloseSession(promise_id, session_id, session_id_size);
- else if (cdm10_)
- cdm10_->CloseSession(promise_id, session_id, session_id_size);
+ if (cdm12_)
+ cdm12_->CloseSession(promise_id, session_id, session_id_size);
else if (cdm11_)
cdm11_->CloseSession(promise_id, session_id, session_id_size);
+ else if (cdm10_)
+ cdm10_->CloseSession(promise_id, session_id, session_id_size);
// remove any shared_ptr references left
m_asyncTimerTasks.clear();
}
@@ -408,22 +378,22 @@ void CdmAdapter::RemoveSession(uint32_t promise_id,
const char* session_id,
uint32_t session_id_size)
{
- if (cdm9_)
- cdm9_->RemoveSession(promise_id, session_id, session_id_size);
- else if (cdm10_)
- cdm10_->RemoveSession(promise_id, session_id, session_id_size);
+ if (cdm12_)
+ cdm12_->RemoveSession(promise_id, session_id, session_id_size);
else if (cdm11_)
cdm11_->RemoveSession(promise_id, session_id, session_id_size);
+ else if (cdm10_)
+ cdm10_->RemoveSession(promise_id, session_id, session_id_size);
}
void CdmAdapter::TimerExpired(void* context)
{
- if (cdm9_)
- cdm9_->TimerExpired(context);
- else if (cdm10_)
- cdm10_->TimerExpired(context);
+ if (cdm12_)
+ cdm12_->TimerExpired(context);
else if (cdm11_)
cdm11_->TimerExpired(context);
+ else if (cdm10_)
+ cdm10_->TimerExpired(context);
}
cdm::Status CdmAdapter::Decrypt(const cdm::InputBuffer_2& encrypted_buffer,
@@ -438,15 +408,12 @@ cdm::Status CdmAdapter::Decrypt(const cdm::InputBuffer_2& encrypted_buffer,
active_buffer_ = decrypted_buffer->DecryptedBuffer();
cdm::Status ret;
- if (cdm9_)
- ret = cdm9_->Decrypt(ToInputBuffer_1(encrypted_buffer), decrypted_buffer);
+ if (cdm12_)
+ ret = cdm12_->Decrypt(encrypted_buffer, decrypted_buffer);
+ else if (cdm11_)
+ ret = cdm11_->Decrypt(encrypted_buffer, decrypted_buffer);
else if (cdm10_)
ret = cdm10_->Decrypt(encrypted_buffer, decrypted_buffer);
- else if (cdm11_)
- {
- cdm::InputBuffer_2 tmp(encrypted_buffer);
- ret = cdm11_->Decrypt(tmp, decrypted_buffer);
- }
active_buffer_ = 0;
return ret;
@@ -455,45 +422,47 @@ cdm::Status CdmAdapter::Decrypt(const cdm::InputBuffer_2& encrypted_buffer,
cdm::Status CdmAdapter::InitializeAudioDecoder(
const cdm::AudioDecoderConfig_2& audio_decoder_config)
{
- if (cdm9_)
- return cdm9_->InitializeAudioDecoder(ToAudioDecoderConfig_1(audio_decoder_config));
- else if (cdm10_)
- return cdm10_->InitializeAudioDecoder(audio_decoder_config);
+ if (cdm12_)
+ return cdm12_->InitializeAudioDecoder(audio_decoder_config);
else if (cdm11_)
return cdm11_->InitializeAudioDecoder(audio_decoder_config);
+ else if (cdm10_)
+ return cdm10_->InitializeAudioDecoder(audio_decoder_config);
+
return cdm::kDeferredInitialization;
}
cdm::Status CdmAdapter::InitializeVideoDecoder(
const cdm::VideoDecoderConfig_3& video_decoder_config)
{
- if (cdm9_)
- return cdm9_->InitializeVideoDecoder(ToVideoDecoderConfig_1(video_decoder_config));
+ if (cdm12_)
+ return cdm12_->InitializeVideoDecoder(video_decoder_config);
+ else if (cdm11_)
+ return cdm11_->InitializeVideoDecoder(ToVideoDecoderConfig_2(video_decoder_config));
else if (cdm10_)
return cdm10_->InitializeVideoDecoder(ToVideoDecoderConfig_2(video_decoder_config));
- else if (cdm11_)
- return cdm11_->InitializeVideoDecoder(video_decoder_config);
+
return cdm::kDeferredInitialization;
}
void CdmAdapter::DeinitializeDecoder(cdm::StreamType decoder_type)
{
- if (cdm9_)
- cdm9_->DeinitializeDecoder(decoder_type);
- else if (cdm10_)
- cdm10_->DeinitializeDecoder(decoder_type);
+ if (cdm12_)
+ cdm12_->DeinitializeDecoder(decoder_type);
else if (cdm11_)
cdm11_->DeinitializeDecoder(decoder_type);
+ else if (cdm10_)
+ cdm10_->DeinitializeDecoder(decoder_type);
}
void CdmAdapter::ResetDecoder(cdm::StreamType decoder_type)
{
- if (cdm9_)
- cdm9_->ResetDecoder(decoder_type);
- else if (cdm10_)
- cdm10_->ResetDecoder(decoder_type);
+ if (cdm12_)
+ cdm12_->ResetDecoder(decoder_type);
else if (cdm11_)
cdm11_->ResetDecoder(decoder_type);
+ else if (cdm10_)
+ cdm10_->ResetDecoder(decoder_type);
}
cdm::Status CdmAdapter::DecryptAndDecodeFrame(const cdm::InputBuffer_2& encrypted_buffer,
@@ -502,12 +471,12 @@ cdm::Status CdmAdapter::DecryptAndDecodeFrame(const cdm::InputBuffer_2& encrypte
std::lock_guard lock(decrypt_mutex_);
cdm::Status ret(cdm::kDeferredInitialization);
- if (cdm9_)
- ret = cdm9_->DecryptAndDecodeFrame(ToInputBuffer_1(encrypted_buffer), video_frame);
- else if (cdm10_)
- ret = cdm10_->DecryptAndDecodeFrame(encrypted_buffer, video_frame);
+ if (cdm12_)
+ ret = cdm12_->DecryptAndDecodeFrame(encrypted_buffer, video_frame);
else if (cdm11_)
ret = cdm11_->DecryptAndDecodeFrame(encrypted_buffer, video_frame);
+ else if (cdm10_)
+ ret = cdm10_->DecryptAndDecodeFrame(encrypted_buffer, video_frame);
active_buffer_ = 0;
return ret;
@@ -517,39 +486,36 @@ cdm::Status CdmAdapter::DecryptAndDecodeSamples(const cdm::InputBuffer_2& encryp
cdm::AudioFrames* audio_frames)
{
std::lock_guard lock(decrypt_mutex_);
- if (cdm9_)
- return cdm9_->DecryptAndDecodeSamples(ToInputBuffer_1(encrypted_buffer), audio_frames);
- else if (cdm10_)
- return cdm10_->DecryptAndDecodeSamples(encrypted_buffer, audio_frames);
+ if (cdm12_)
+ return cdm12_->DecryptAndDecodeSamples(encrypted_buffer, audio_frames);
else if (cdm11_)
return cdm11_->DecryptAndDecodeSamples(encrypted_buffer, audio_frames);
+ else if (cdm10_)
+ return cdm10_->DecryptAndDecodeSamples(encrypted_buffer, audio_frames);
return cdm::kDeferredInitialization;
}
void CdmAdapter::OnPlatformChallengeResponse(
const cdm::PlatformChallengeResponse& response)
{
- if (cdm9_)
- cdm9_->OnPlatformChallengeResponse(response);
- else if (cdm10_)
- cdm10_->OnPlatformChallengeResponse(response);
+ if (cdm12_)
+ cdm12_->OnPlatformChallengeResponse(response);
else if (cdm11_)
cdm11_->OnPlatformChallengeResponse(response);
+ else if (cdm10_)
+ cdm10_->OnPlatformChallengeResponse(response);
}
void CdmAdapter::OnQueryOutputProtectionStatus(cdm::QueryResult result,
uint32_t link_mask,
uint32_t output_protection_mask)
{
- if (cdm9_)
- cdm9_->OnQueryOutputProtectionStatus(result, link_mask,
- output_protection_mask);
- else if (cdm10_)
- cdm10_->OnQueryOutputProtectionStatus(result, link_mask,
- output_protection_mask);
+ if (cdm12_)
+ cdm12_->OnQueryOutputProtectionStatus(result, link_mask, output_protection_mask);
else if (cdm11_)
- cdm11_->OnQueryOutputProtectionStatus(result, link_mask,
- output_protection_mask);
+ cdm11_->OnQueryOutputProtectionStatus(result, link_mask, output_protection_mask);
+ else if (cdm10_)
+ cdm10_->OnQueryOutputProtectionStatus(result, link_mask, output_protection_mask);
}
/******************************** HOST *****************************************/
@@ -623,15 +589,36 @@ void CdmAdapter::OnSessionKeysChange(const char* session_id,
char buffer[128];
char* bufferPtr{buffer};
for (uint32_t j{0}; j < keys_info[i].key_id_size; ++j)
- bufferPtr += sprintf(bufferPtr, "%02X", (int)keys_info[i].key_id[j]);
- LOG::Log(LOGDEBUG, "%s: Sessionkey %s status: %d syscode: %u", __func__, buffer,
- keys_info[i].status, keys_info[i].system_code);
+ bufferPtr += std::snprintf(bufferPtr, 3, "%02X", (int)keys_info[i].key_id[j]);
+ Log(LogLevel::DEBUG, "OnSessionKeysChange: KID %s, Status: %d, System code: %u", buffer,
+ keys_info[i].status, keys_info[i].system_code);
SendClientMessage(session_id, session_id_size, CdmAdapterClient::kSessionKeysChange,
keys_info[i].key_id, keys_info[i].key_id_size, keys_info[i].status);
}
}
+void CdmAdapter::OnSessionKeysChange(const char* session_id,
+ uint32_t session_id_size,
+ bool has_additional_usable_key,
+ const cdm::KeyInformation_2* keys_info,
+ uint32_t keys_info_count)
+{
+ for (uint32_t i(0); i < keys_info_count; ++i)
+ {
+ char buffer[128];
+ char* bufferPtr{buffer};
+ for (uint32_t j{0}; j < keys_info[i].key_id_size; ++j)
+ bufferPtr += std::snprintf(bufferPtr, 3, "%02X", (int)keys_info[i].key_id[j]);
+ Log(LogLevel::DEBUG, "OnSessionKeysChange: KID %s, Status: %d, System code: %u", buffer,
+ keys_info[i].status, keys_info[i].system_code);
+
+ SendClientMessage(session_id, session_id_size, CdmAdapterClient::kSessionKeysChange,
+ keys_info[i].key_id, keys_info[i].key_id_size,
+ static_cast(keys_info[i].status));
+ }
+}
+
void CdmAdapter::OnExpirationChange(const char* session_id,
uint32_t session_id_size,
cdm::Time new_expiry_time)
@@ -673,12 +660,14 @@ cdm::FileIO* CdmAdapter::CreateFileIO(cdm::FileIOClient* client)
return new CdmFileIoImpl(cdm_base_path_, client);
}
-
-// Host_9 specific implementations
void CdmAdapter::OnResolveKeyStatusPromise(uint32_t promise_id, cdm::KeyStatus key_status)
{
}
+void CdmAdapter::OnResolveKeyStatusPromise(uint32_t promise_id, cdm::KeyStatus_2 key_status)
+{
+}
+
void CdmAdapter::OnRejectPromise(uint32_t promise_id, cdm::Exception exception,
uint32_t system_code, const char* error_message, uint32_t error_message_size)
{
@@ -692,15 +681,21 @@ void CdmAdapter::OnSessionMessage(const char* session_id, uint32_t session_id_si
void CdmAdapter::RequestStorageId(uint32_t version)
{
- if (cdm10_)
- cdm10_->OnStorageId(1, nullptr, 0);
+ if (cdm12_)
+ cdm12_->OnStorageId(version, nullptr, 0);
else if (cdm11_)
- cdm11_->OnStorageId(1, nullptr, 0);
+ cdm11_->OnStorageId(version, nullptr, 0);
+ else if (cdm10_)
+ cdm10_->OnStorageId(version, nullptr, 0);
+}
+
+void CdmAdapter::ReportMetrics(cdm::MetricName metric_name, uint64_t value)
+{
}
void CdmAdapter::OnInitialized(bool success)
{
- LOG::LogF(LOGDEBUG, "CDM is initialized: %s", success ? "true" : "false");
+ Log(LogLevel::DEBUG, "CDM is initialized: %s", success ? "true" : "false");
}
@@ -751,14 +746,14 @@ void CdmFileIoImpl::Read()
}
} else
status = cdm::FileIOClient::Status::kSuccess;
- client_->OnReadComplete(status, data_buffer_, sz);
+ client_->OnReadComplete(status, data_buffer_, static_cast(sz));
}
void CdmFileIoImpl::Write(const uint8_t* data, uint32_t data_size)
{
if (!ExistsDir(base_path_.c_str()) && !CreateDirs(base_path_.c_str()))
{
- LOG::LogF(LOGERROR, "Cannot create directory: %s", base_path_.c_str());
+ LogF(LogLevel::ERROR, "Cannot create directory: %s", base_path_.c_str());
client_->OnWriteComplete(cdm::FileIOClient::Status::kError);
return;
}
diff --git a/lib/cdm/cdm/media/cdm/cdm_adapter.h b/lib/cdm/cdm/media/cdm/cdm_adapter.h
index d800281b9..7720a4e16 100644
--- a/lib/cdm/cdm/media/cdm/cdm_adapter.h
+++ b/lib/cdm/cdm/media/cdm/cdm_adapter.h
@@ -69,16 +69,16 @@ class CdmVideoFrame : public cdm::VideoFrame, public cdm::VideoFrame_2 {
cdm::Size m_size;
cdm::ColorSpace m_colorSpace;
- uint32_t m_planeOffsets[cdm::VideoPlane::kMaxPlanes];
- uint32_t m_stride[cdm::VideoPlane::kMaxPlanes];
+ uint32_t m_planeOffsets[cdm::kMaxPlanes];
+ uint32_t m_stride[cdm::kMaxPlanes];
uint64_t m_pts;
};
-class CdmAdapter : public std::enable_shared_from_this
- , public cdm::Host_9
- , public cdm::Host_10
- , public cdm::Host_11
+class CdmAdapter : public std::enable_shared_from_this,
+ public cdm::Host_10,
+ public cdm::Host_11,
+ public cdm::Host_12
{
public:
void timerfunc(CdmAdapter* adp, int64_t delay, void* context);
@@ -158,6 +158,9 @@ class CdmAdapter : public std::enable_shared_from_this
void OnResolveKeyStatusPromise(uint32_t promise_id,
cdm::KeyStatus key_status) override;
+ // Used by CDM12 and beyond
+ void OnResolveKeyStatusPromise(uint32_t promise_id, cdm::KeyStatus_2 key_status) override;
+
void OnResolveNewSessionPromise(uint32_t promise_id,
const char* session_id,
uint32_t session_id_size) override;
@@ -180,6 +183,13 @@ class CdmAdapter : public std::enable_shared_from_this
uint32_t session_id_size,
bool has_additional_usable_key,
const cdm::KeyInformation* keys_info,
+ uint32_t keys_info_count) override;
+
+ // Used by CDM12 and beyond
+ void OnSessionKeysChange(const char* session_id,
+ uint32_t session_id_size,
+ bool has_additional_usable_key,
+ const cdm::KeyInformation_2* keys_info,
uint32_t keys_info_count) override;
void OnExpirationChange(const char* session_id,
@@ -205,7 +215,7 @@ class CdmAdapter : public std::enable_shared_from_this
void RequestStorageId(uint32_t version) override;
- cdm::CdmProxy* RequestCdmProxy(cdm::CdmProxyClient* client) override { return nullptr; };
+ void ReportMetrics(cdm::MetricName metric_name, uint64_t value) override;
void OnInitialized(bool success) override;
@@ -250,9 +260,9 @@ class CdmAdapter : public std::enable_shared_from_this
cdm::MessageType message_type_;
cdm::Buffer *active_buffer_;
- cdm::ContentDecryptionModule_9 *cdm9_;
- cdm::ContentDecryptionModule_10 *cdm10_;
- cdm::ContentDecryptionModule_11 *cdm11_;
+ cdm::ContentDecryptionModule_10* cdm10_{nullptr};
+ cdm::ContentDecryptionModule_11* cdm11_{nullptr};
+ cdm::ContentDecryptionModule_12* cdm12_{nullptr};
DISALLOW_COPY_AND_ASSIGN(CdmAdapter);
};
diff --git a/src/CompKodiProps.cpp b/src/CompKodiProps.cpp
index 1e00f2c1f..0334b8b0a 100644
--- a/src/CompKodiProps.cpp
+++ b/src/CompKodiProps.cpp
@@ -11,6 +11,7 @@
#include "CompSettings.h"
#include "decrypters/Helpers.h"
#include "utils/StringUtils.h"
+#include "utils/UrlUtils.h"
#include "utils/Utils.h"
#include "utils/log.h"
@@ -55,6 +56,8 @@ constexpr std::string_view PROP_PRE_INIT_DATA = "inputstream.adaptive.pre_init_d
constexpr std::string_view PROP_CONFIG = "inputstream.adaptive.config";
constexpr std::string_view PROP_DRM = "inputstream.adaptive.drm";
+constexpr std::string_view PROP_DRM_LEGACY = "inputstream.adaptive.drm_legacy";
+
constexpr std::string_view PROP_INTERNAL_COOKIES = "inputstream.adaptive.internal_cookies"; //! @todo: to remove on Kodi 22
// Chooser's properties
@@ -69,6 +72,18 @@ ADP::KODI_PROPS::CCompKodiProps::CCompKodiProps(const std::map},
+ * "license": dict,
+ * ... },
* "keysystem_name_2" : { ... }}
*/
rapidjson::Document jDoc;
@@ -384,6 +410,9 @@ bool ADP::KODI_PROPS::CCompKodiProps::ParseDrmConfig(const std::string& data)
continue;
}
+ //! @todo: m_licenseType temporarily assigned, to remove with the DRM config rework
+ m_licenseType = keySystem;
+
DrmCfg& drmCfg = m_drmConfigs[keySystem];
auto& jDictVal = jChildObj.value;
@@ -394,15 +423,114 @@ bool ADP::KODI_PROPS::CCompKodiProps::ParseDrmConfig(const std::string& data)
continue;
}
- if (jDictVal.HasMember("keyids") && jDictVal["keyids"].IsObject())
+ if (jDictVal.HasMember("license") && jDictVal["license"].IsObject())
+ {
+ auto& jDictLic = jDictVal["license"];
+
+ if (jDictLic.HasMember("keyids") && jDictLic["keyids"].IsArray())
+ {
+ for (auto const& keyid : jDictLic["keyids"].GetObject())
+ {
+ if (keyid.name.IsString() && keyid.value.IsString())
+ drmCfg.license.keys[keyid.name.GetString()] = (keyid.value.GetString());
+ }
+ }
+ }
+
+ //! @todo: temporary support only one DRM config
+ break;
+ }
+
+ return true;
+}
+
+bool ADP::KODI_PROPS::CCompKodiProps::ParseDrmLegacyConfig(const std::string& data)
+{
+ // Legacy way to configure a DRM.
+ // Designed to have a minimal configuration for the most common use cases using a single DRM.
+
+ /* Expected TEXT structure:
+ * [DRM KeySystem] | [License server URL or KeyId's] | [License server headers]
+ *
+ * From 1 to 3 fields, splitted by pipes
+ */
+
+ std::vector pipedCfg = STRING::SplitToVec(data, '|');
+ if (pipedCfg.size() > 3)
+ {
+ LOG::LogF(LOGERROR, "Malformed value on the DRM legacy property");
+ return false;
+ }
+
+ std::string keySystem = STRING::Trim(pipedCfg[0]);
+
+ std::string licenseStr;
+ if (pipedCfg.size() > 1)
+ licenseStr = STRING::Trim(pipedCfg[1]);
+
+ std::string licenseHeaders;
+ if (pipedCfg.size() > 2)
+ licenseHeaders = STRING::Trim(pipedCfg[2]);
+
+ if (!DRM::IsKeySystemSupported(keySystem))
+ {
+ LOG::LogF(LOGERROR, "Unknown key system \"%s\" on DRM legacy property", keySystem.data());
+ return false;
+ }
+
+ m_licenseType = keySystem;
+ std::string licenseUrl;
+
+ if (!licenseStr.empty())
+ {
+ if (URL::IsValidUrl(licenseStr)) // License server URL
+ {
+ licenseUrl = licenseStr;
+ }
+ else // Assume are keyid's for ClearKey DRM
{
- for (auto const& keyid : jDictVal["keyids"].GetObject())
+ // Expected TEXT structure: "kid1:key1,kid2:key2,..."
+ DrmCfg& drmCfg = m_drmConfigs[keySystem];
+ std::vector keyIdPair = STRING::SplitToVec(licenseStr, ',');
+
+ for (const std::string& keyPairStr : keyIdPair)
{
- if (keyid.name.IsString() && keyid.value.IsString())
- drmCfg.m_keys[keyid.name.GetString()] = (keyid.value.GetString());
+ std::vector keyPair = STRING::SplitToVec(keyPairStr, ':');
+ if (keyPair.size() != 2)
+ {
+ LOG::LogF(LOGERROR, "Ignored malformed ClearKey kid/key pair");
+ continue;
+ }
+ drmCfg.license.keys[STRING::Trim(keyPair[0])] = STRING::Trim(keyPair[1]);
}
}
}
+ if (keySystem == DRM::KS_CLEARKEY)
+ {
+ DrmCfg& drmCfg = m_drmConfigs[keySystem];
+
+ drmCfg.license.serverUrl = licenseUrl;
+ ParseHeaderString(drmCfg.license.reqHeaders, licenseHeaders);
+ // Until the future DRM config rework only the ClearKey DRM use the new properties
+ // so return now to keep m_licenseKey empty
+ return true;
+ }
+ else if (licenseHeaders.empty())
+ {
+ //! @todo: temporary stored default DRM values here just for convenience
+ //! since we need to construct the "license key" string
+ //! these values are stored also on DRM's implementation,
+ //! they must be placed in an appropriate place with the future DRM config rework
+ if (keySystem == DRM::KS_WIDEVINE)
+ licenseHeaders = "Content-Type=application%2Foctet-stream";
+ else if (keySystem == DRM::KS_PLAYREADY)
+ licenseHeaders = "Content-Type=text%2Fxml&SOAPAction=http%3A%2F%2Fschemas.microsoft.com%"
+ "2FDRM%2F2007%2F03%2Fprotocols%2FAcquireLicense";
+ else if (keySystem == DRM::KS_WISEPLAY)
+ licenseHeaders = "Content-Type=application/json";
+ }
+
+ m_licenseKey = licenseUrl + "|" + licenseHeaders + "|R{SSM}|R";
return true;
}
diff --git a/src/CompKodiProps.h b/src/CompKodiProps.h
index 7970db15d..e207cd029 100644
--- a/src/CompKodiProps.h
+++ b/src/CompKodiProps.h
@@ -70,7 +70,15 @@ struct ManifestConfig
struct DrmCfg
{
- std::map m_keys;
+ struct License
+ {
+ std::string serverUrl;
+ std::map reqHeaders;
+
+ std::map keys; // Clearkeys kid / key
+ };
+
+ License license; // The license configuration
};
class ATTR_DLL_LOCAL CCompKodiProps
@@ -136,6 +144,7 @@ class ATTR_DLL_LOCAL CCompKodiProps
void ParseManifestConfig(const std::string& data);
bool ParseDrmConfig(const std::string& data);
+ bool ParseDrmLegacyConfig(const std::string& data);
std::string m_licenseType;
std::string m_licenseKey;
diff --git a/src/Session.cpp b/src/Session.cpp
index 75e55988b..1d4b7c59f 100644
--- a/src/Session.cpp
+++ b/src/Session.cpp
@@ -17,6 +17,7 @@
#include "common/Chooser.h"
#include "decrypters/DrmFactory.h"
#include "decrypters/Helpers.h"
+#include "parser/PRProtectionParser.h"
#include "utils/Base64Utils.h"
#include "utils/CurlUtils.h"
#include "utils/StringUtils.h"
@@ -65,7 +66,7 @@ CSession::CSession(const std::string& manifestUrl) : m_manifestUrl(manifestUrl)
CSession::~CSession()
{
LOG::Log(LOGDEBUG, "CSession::~CSession()");
- m_streams.clear();
+ DeleteStreams();
DisposeDecrypter();
if (m_adaptiveTree)
@@ -79,6 +80,12 @@ CSession::~CSession()
m_reprChooser = nullptr;
}
+void SESSION::CSession::DeleteStreams()
+{
+ LOG::Log(LOGDEBUG, "CSession::DeleteStreams()");
+ m_streams.clear();
+}
+
void CSession::SetSupportedDecrypterURN(std::vector& keySystems)
{
std::string decrypterPath = CSrvBroker::GetSettings().GetDecrypterPath();
@@ -327,11 +334,11 @@ bool CSession::PreInitializeDRM(std::string& challengeB64,
initData = BASE64::Decode(psshData);
// Decode the provided KID
- std::string decKid{BASE64::DecodeToStr(kidData)};
+ const std::vector decKid = BASE64::Decode(kidData);
CCdmSession& session(m_cdmSessions[1]);
- std::string hexKid{StringUtils::ToHexadecimal(decKid)};
+ std::string hexKid{STRING::ToHexadecimal(decKid)};
LOG::LogF(LOGDEBUG, "Initializing session with KID: %s", hexKid.c_str());
if (m_decrypter && (session.m_cencSingleSampleDecrypter =
@@ -388,12 +395,22 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
}
}
- std::string_view licenseData = CSrvBroker::GetKodiProps().GetLicenseData();
std::string_view licenseType = CSrvBroker::GetKodiProps().GetLicenseType();
// cdmSession 0 is reserved for unencrypted streams
for (size_t ses{1}; ses < m_cdmSessions.size(); ++ses)
{
+ CCdmSession& session{m_cdmSessions[ses]};
+
+ // Check if the decrypter has been previously initialized, if so skip it,
+ // sessions are collected and never removed and InitializeDRM can be called more times
+ // depending on how it is used:
+ // 1) CSession::Initialize->InitializePeriod->InitializeDRM - Used by DASH/SS (single call)
+ // 2) CInputStreamAdaptive::DemuxRead->m_session->InitializePeriod()->InitializeDRM - On chapter change (single call)
+ // 3) CInputStreamAdaptive::OpenStream->m_session->PrepareStream->InitializeDRM - Used by HLS (a call for each stream)
+ if (session.m_cencSingleSampleDecrypter)
+ continue;
+
std::vector initData;
std::string drmOptionalKeyParam;
@@ -401,7 +418,10 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
if (sessionPsshset.adaptation_set_->GetStreamType() == StreamType::NOTYPE)
continue;
-
+
+ std::string defaultKidStr = sessionPsshset.defaultKID_;
+ std::string_view licenseDataStr = CSrvBroker::GetKodiProps().GetLicenseData();
+
if (m_adaptiveTree->GetTreeType() == adaptive::TreeType::SMOOTH_STREAMING)
{
if (licenseType == "com.widevine.alpha")
@@ -410,17 +430,21 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
//! @todo: CreateISMlicense accept placeholders {KID} and {UUID} but its not wiki documented
//! we should continue allow create custom pssh with placeholders?
//! see also todo's below
- if (licenseData.empty())
+ std::vector licenseData = BASE64::Decode(licenseDataStr);
+
+ if (DRM::IsValidPsshHeader(licenseData))
{
- LOG::Log(LOGDEBUG, "License data: Create Widevine PSSH for SmoothStreaming");
- licenseData = "e0tJRH0="; // {KID}
+ initData = licenseData;
}
else
{
- LOG::Log(LOGDEBUG, "License data: Create Widevine PSSH for SmoothStreaming, based on "
- "license data property");
+ LOG::Log(LOGDEBUG, "License data: Create Widevine PSSH for SmoothStreaming %s",
+ licenseData.empty() ? "" : "(with custom data)");
+
+ std::vector wvPsshData;
+ if (DRM::MakeWidevinePsshData(DRM::ConvertKidStrToBytes(defaultKidStr), licenseData, wvPsshData))
+ DRM::MakePssh(DRM::ID_WIDEVINE, wvPsshData, initData);
}
- CreateISMlicense(sessionPsshset.defaultKID_, licenseData, initData);
}
else if (licenseType == "com.microsoft.playready")
{
@@ -434,16 +458,27 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
//! As first decoupling things and allowing to have a way to set DRM optional parameters in a extensible way
//! for future other use cases, and not limited to Playready only.
//! To take in account that license_data property is also used on DASH parser to bypass ContentProtection tags.
- drmOptionalKeyParam = licenseData;
+ drmOptionalKeyParam = licenseDataStr;
}
}
- else if (!licenseData.empty())
+ else if (!licenseDataStr.empty())
{
// Custom license PSSH data provided from property
// This can allow to initialize a DRM that could be also not specified
// as supported in the manifest (e.g. missing DASH ContentProtection tags)
LOG::Log(LOGDEBUG, "License data: Use PSSH data provided by the license data property");
- initData = BASE64::Decode(licenseData);
+ initData = BASE64::Decode(licenseDataStr);
+ }
+
+ // If no KID, but init data, extract the KID from init data
+ if (!initData.empty() && defaultKidStr.empty())
+ {
+ CPsshParser parser;
+ if (parser.Parse(initData) && !parser.GetKeyIds().empty())
+ {
+ LOG::Log(LOGDEBUG, "Default KID parsed from init data");
+ defaultKidStr = STRING::ToHexadecimal(parser.GetKeyIds()[0]);
+ }
}
if (initData.empty() && sessionPsshset.m_licenseUrl.empty())
@@ -453,16 +488,16 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
// Use the init data provided by manifest (e.g. PSSH)
initData = sessionPsshset.pssh_;
}
- else
+ else if (licenseType != DRM::KS_CLEARKEY)
{
// Try extract the PSSH/KID from the stream
+ // only if clearkeys are not used (use case e.g. Widevine manifest tested with ClearKey DRM)
if (!ExtractStreamProtectionData(sessionPsshset, initData, m_adaptiveTree->m_supportedKeySystems))
LOG::Log(LOGERROR, "License data: Cannot extract PSSH/KID data from the stream");
}
}
- CCdmSession& session{m_cdmSessions[ses]};
- std::string defaultKid = sessionPsshset.defaultKID_;
+ const std::vector defaultKid = DRM::ConvertKidStrToBytes(defaultKidStr);
if (addDefaultKID && ses == 1 && session.m_cencSingleSampleDecrypter)
{
@@ -475,8 +510,7 @@ bool CSession::InitializeDRM(bool addDefaultKID /* = false */)
if (m_decrypter && !defaultKid.empty())
{
- LOG::Log(LOGDEBUG, "Initializing stream with KID: %s",
- STRING::ToHexadecimal(defaultKid).c_str());
+ LOG::Log(LOGDEBUG, "Initializing stream with KID: %s", defaultKidStr.c_str());
for (size_t i{1}; i < ses; ++i)
{
@@ -746,25 +780,45 @@ void CSession::UpdateStream(CStream& stream)
stream.m_isEncrypted = rep->GetPsshSetPos() != PSSHSET_POS_DEFAULT;
stream.m_info.SetExtraData(nullptr, 0);
-
if (!rep->GetCodecPrivateData().empty())
{
- std::vector annexb;
- const std::vector* extraData(&annexb);
-
+ const auto& cpd = rep->GetCodecPrivateData();
const DRM::DecrypterCapabilites& caps{GetDecrypterCaps(rep->m_psshSetPos)};
+ bool isAvcC = !cpd.empty() && cpd[0] == 0x01;
+ bool hasNoSPS = isAvcC && cpd.size() >= 6 && (cpd[5] & 0x1f) == 0;
- if ((caps.flags & DRM::DecrypterCapabilites::SSD_ANNEXB_REQUIRED) &&
- stream.m_info.GetStreamType() == INPUTSTREAM_TYPE_VIDEO)
+ if ((caps.flags & DRM::DecrypterCapabilites::SSD_ANNEXB_REQUIRED) && !hasNoSPS)
{
- LOG::Log(LOGDEBUG, "UpdateStream: Convert avc -> annexb");
- annexb = AvcToAnnexb(rep->GetCodecPrivateData());
+ std::vector annexb = AvcToAnnexb(cpd);
+ if (!annexb.empty())
+ stream.m_info.SetExtraData(annexb.data(), annexb.size());
+ else
+ {
+ LOG::LogF(LOGWARNING, "UpdateStream: AvcToAnnexb failed, using raw CPD");
+ stream.m_info.SetExtraData(cpd.data(), cpd.size());
+ }
+ }
+ else if (isAvcC && hasNoSPS)
+ {
+ // avcC with 0 SPS (AVC3 in-band) - skip extradata as V4L2 h264_xd_copy
+ // rejects avcC with 0 SPS/0 PPS; decoder gets SPS/PPS from in-band NALUs
+ stream.m_info.SetExtraData(nullptr, 0);
+ }
+ else if (isAvcC)
+ {
+ std::vector annexb = AvcToAnnexb(cpd);
+ if (!annexb.empty())
+ stream.m_info.SetExtraData(annexb.data(), annexb.size());
+ else
+ {
+ LOG::LogF(LOGWARNING, "UpdateStream: AvcToAnnexb failed, using raw CPD");
+ stream.m_info.SetExtraData(cpd.data(), cpd.size());
+ }
}
else
{
- extraData = &rep->GetCodecPrivateData();
+ stream.m_info.SetExtraData(cpd.data(), cpd.size());
}
- stream.m_info.SetExtraData(extraData->data(), extraData->size());
}
stream.m_info.SetCodecFourCC(0);
@@ -984,6 +1038,18 @@ const char* SESSION::CSession::GetCDMSession(unsigned int index)
return m_cdmSessions[index].m_cdmSessionStr;
}
+Adaptive_CencSingleSampleDecrypter* SESSION::CSession::GetSingleSampleDecryptor(
+ unsigned int index) const
+{
+ if (index >= m_cdmSessions.size())
+ {
+ LOG::LogF(LOGERROR, "Index %u out of range, cannot get single sample decrypter", index);
+ return nullptr;
+ }
+
+ return m_cdmSessions[index].m_cencSingleSampleDecrypter;
+}
+
uint64_t CSession::PTSToElapsed(uint64_t pts)
{
if (m_timingStream)
@@ -1305,6 +1371,43 @@ void CSession::OnStreamChange(adaptive::AdaptiveStream* adStream)
}
}
+bool SESSION::CSession::OnGetStream(int streamid, kodi::addon::InputstreamInfo& info)
+{
+ CStream* stream(GetStream(streamid - GetPeriodId() * 1000));
+
+ if (stream)
+ {
+ const uint16_t psshSetPos = stream->m_adStream.getRepresentation()->m_psshSetPos;
+ if (psshSetPos != PSSHSET_POS_DEFAULT ||
+ stream->m_adStream.getPeriod()->GetEncryptionState() == EncryptionState::NOT_SUPPORTED)
+ {
+ // NOTE "psshSetPos < m_cdmSessions.size()" CONDITION:
+ // is required because the GetNextRepresentation method called by AdaptiveStream "ensure segment" method
+ // can change stream quality that download new manifests, parsing new manifests may add new PSSH's,
+ // so there will be a higher psshSetPos value than m_cdmSessions
+ // this happens for HLS case because the m_cdmSessions is updated with OpenStream.
+ // On DEMUX_SPECIALID_STREAMCHANGE event Kodi query all streams by calling GetStream in advance
+ // than OpenStream so there is a higher psshSetPos value and GetSingleSampleDecryptor cannot get a ptr
+ if (psshSetPos < m_cdmSessions.size() && !GetSingleSampleDecryptor(psshSetPos))
+ {
+ // If the stream is protected with a unsupported DRM, we have to stop the playback,
+ // since there are no ways to stop playback when Kodi request streams
+ // we are forced to delete all CStream's here, so that when demux reader will starts
+ // will have no data to process, and so stop the playback
+ // (other streams may have been requested/opened before this one)
+ LOG::Log(LOGERROR, "GetStream(%d): Decrypter for the stream not found", streamid);
+ DeleteStreams();
+ return false;
+ }
+ }
+
+ info = stream->m_info;
+ return true;
+ }
+
+ return false;
+}
+
Adaptive_CencSingleSampleDecrypter* CSession::GetSingleSampleDecrypter(std::string sessionId)
{
for (std::vector::iterator b(m_cdmSessions.begin() + 1), e(m_cdmSessions.end());
@@ -1494,7 +1597,7 @@ bool CSession::ExtractStreamProtectionData(PLAYLIST::CPeriod::PSSHSet& sessionPs
{
if (pssh[i].GetKid(0))
{
- sessionPsshset.defaultKID_ = std::string((const char*)pssh[i].GetKid(0), 16);
+ sessionPsshset.defaultKID_ = STRING::ToHexadecimal(pssh[i].GetKid(0), 16);
}
else if (AP4_Track* track = movie->GetTrack(
static_cast(stream.m_adStream.GetTrackType())))
@@ -1509,8 +1612,7 @@ bool CSession::ExtractStreamProtectionData(PLAYLIST::CPeriod::PSSHSet& sessionPs
AP4_DYNAMIC_CAST(AP4_TencAtom, schi->GetChild(AP4_ATOM_TYPE_TENC, 0)) };
if (tenc)
{
- sessionPsshset.defaultKID_ =
- std::string(reinterpret_cast(tenc->GetDefaultKid()), 16);
+ sessionPsshset.defaultKID_ = STRING::ToHexadecimal(tenc->GetDefaultKid(), 16);
}
else
{
@@ -1519,8 +1621,7 @@ bool CSession::ExtractStreamProtectionData(PLAYLIST::CPeriod::PSSHSet& sessionPs
schi->GetChild(AP4_UUID_PIFF_TRACK_ENCRYPTION_ATOM, 0)) };
if (piff)
{
- sessionPsshset.defaultKID_ =
- std::string(reinterpret_cast(piff->GetDefaultKid()), 16);
+ sessionPsshset.defaultKID_ = STRING::ToHexadecimal(piff->GetDefaultKid(), 16);
}
}
}
diff --git a/src/Session.h b/src/Session.h
index 0e6aa3147..c4bd77a6f 100644
--- a/src/Session.h
+++ b/src/Session.h
@@ -30,6 +30,8 @@ class ATTR_DLL_LOCAL CSession : public adaptive::AdaptiveStreamObserver
CSession(const std::string& manifestUrl);
virtual ~CSession();
+ void DeleteStreams();
+
/*! \brief Initialize the session
* \return True if has success, false otherwise
*/
@@ -134,10 +136,7 @@ class ATTR_DLL_LOCAL CSession : public adaptive::AdaptiveStreamObserver
* \param index The index (psshSet number) of the cdm session
* \return The single sample decrypter
*/
- Adaptive_CencSingleSampleDecrypter* GetSingleSampleDecryptor(unsigned int index) const
- {
- return m_cdmSessions[index].m_cencSingleSampleDecrypter;
- }
+ Adaptive_CencSingleSampleDecrypter* GetSingleSampleDecryptor(unsigned int index) const;
/*! \brief Get the decrypter (DRM lib)
* \return The decrypter
@@ -317,6 +316,14 @@ class ATTR_DLL_LOCAL CSession : public adaptive::AdaptiveStreamObserver
*/
void OnStreamChange(adaptive::AdaptiveStream* adStream) override;
+ /*!
+ * \brief Callback from CInputStreamAdaptive::GetStream.
+ * \param streamid The requested stream id
+ * \param info The stream info object (can be updated)
+ * \return True to allow Kodi core to load the stream, otherwise false
+ */
+ bool OnGetStream(int streamid, kodi::addon::InputstreamInfo& info);
+
protected:
/*! \brief Check for and load decrypter module matching the supplied key system
* \param key_system [OUT] Will be assigned to if a decrypter is found matching
diff --git a/src/codechandler/AVCCodecHandler.cpp b/src/codechandler/AVCCodecHandler.cpp
index 7f7ef7398..d8ff6ab93 100644
--- a/src/codechandler/AVCCodecHandler.cpp
+++ b/src/codechandler/AVCCodecHandler.cpp
@@ -238,3 +238,68 @@ bool AVCCodecHandler::GetInformation(kodi::addon::InputstreamInfo& info)
}
return isChanged;
};
+
+bool AVCCodecHandler::Transform(AP4_UI64 pts, AP4_UI32 duration, AP4_DataBuffer& buf, AP4_UI64 timescale)
+{
+ if (!m_needAnnexBTransform || m_naluLengthSize == 0)
+ return false;
+
+ const AP4_Byte* src = buf.GetData();
+ AP4_Size srcSize = buf.GetDataSize();
+ if (srcSize < m_naluLengthSize)
+ return false;
+
+ // Calculate output size: each NALU loses naluLengthSize bytes and gains 4 bytes (start code)
+ // Worst case: many small NALUs -> output grows. Allocate conservatively.
+ AP4_Size outSize = srcSize + (srcSize / m_naluLengthSize) * (4 - m_naluLengthSize) + 64;
+ AP4_DataBuffer outBuf;
+ outBuf.SetDataSize(outSize);
+ AP4_Byte* dst = outBuf.UseData();
+ AP4_Size dstUsed = 0;
+
+ const AP4_Byte startCode[4] = {0x00, 0x00, 0x00, 0x01};
+
+ while (srcSize >= m_naluLengthSize)
+ {
+ AP4_UI32 naluSize = 0;
+ switch (m_naluLengthSize)
+ {
+ case 1: naluSize = src[0]; break;
+ case 2: naluSize = (src[0] << 8) | src[1]; break;
+ case 4: naluSize = (src[0] << 24) | (src[1] << 16) | (src[2] << 8) | src[3]; break;
+ default: return false;
+ }
+
+ if (naluSize == 0 || naluSize > srcSize - m_naluLengthSize)
+ break;
+
+ // Ensure enough space in output buffer
+ AP4_Size needed = dstUsed + 4 + naluSize;
+ if (needed > outBuf.GetDataSize())
+ {
+ outBuf.SetDataSize(needed + 256);
+ dst = outBuf.UseData();
+ }
+
+ // Write Annex B start code
+ memcpy(dst + dstUsed, startCode, 4);
+ dstUsed += 4;
+
+ // Copy NALU data
+ memcpy(dst + dstUsed, src + m_naluLengthSize, naluSize);
+ dstUsed += naluSize;
+
+ // Advance source
+ src += m_naluLengthSize + naluSize;
+ srcSize -= m_naluLengthSize + naluSize;
+ }
+
+ if (dstUsed > 0)
+ {
+ buf.SetDataSize(dstUsed);
+ memcpy(buf.UseData(), outBuf.GetData(), dstUsed);
+ return true;
+ }
+
+ return false;
+}
diff --git a/src/codechandler/AVCCodecHandler.h b/src/codechandler/AVCCodecHandler.h
index b39aba54a..524e55be8 100644
--- a/src/codechandler/AVCCodecHandler.h
+++ b/src/codechandler/AVCCodecHandler.h
@@ -18,9 +18,12 @@ class ATTR_DLL_LOCAL AVCCodecHandler : public CodecHandler
void UpdatePPSId(const AP4_DataBuffer& buffer) override;
bool GetInformation(kodi::addon::InputstreamInfo& info) override;
STREAMCODEC_PROFILE GetProfile() override { return m_codecProfile; };
+ bool Transform(AP4_UI64 pts, AP4_UI32 duration, AP4_DataBuffer& buf, AP4_UI64 timescale) override;
+ void SetAnnexBTransformNeeded(bool needed) { m_needAnnexBTransform = needed; }
private:
unsigned int m_countPictureSetIds;
STREAMCODEC_PROFILE m_codecProfile;
bool m_needSliceInfo;
+ bool m_needAnnexBTransform = false;
};
diff --git a/src/common/AdaptiveDecrypter.h b/src/common/AdaptiveDecrypter.h
index 62ca282f6..b1c82042a 100644
--- a/src/common/AdaptiveDecrypter.h
+++ b/src/common/AdaptiveDecrypter.h
@@ -24,7 +24,7 @@ class Adaptive_CencSingleSampleDecrypter : public AP4_CencSingleSampleDecrypter
/*! \brief Add a Key ID to the current session
* \param keyId The KID
*/
- virtual void AddKeyId(std::string_view keyId)
+ virtual void AddKeyId(const std::vector& keyId)
{
throw std::logic_error("AddKeyId method not implemented.");
};
@@ -32,7 +32,7 @@ class Adaptive_CencSingleSampleDecrypter : public AP4_CencSingleSampleDecrypter
/*! \brief Set a Key ID as default
* \param keyId The KID
*/
- virtual void SetDefaultKeyId(std::string_view keyId)
+ virtual void SetDefaultKeyId(const std::vector& keyId)
{
throw std::logic_error("SetDefaultKeyId method not implemented.");
};
diff --git a/src/common/AdaptiveStream.cpp b/src/common/AdaptiveStream.cpp
index 6cb02c307..e083756dc 100644
--- a/src/common/AdaptiveStream.cpp
+++ b/src/common/AdaptiveStream.cpp
@@ -676,6 +676,12 @@ bool AdaptiveStream::start_stream(const uint64_t startPts)
size_t segPosDelay =
static_cast((m_tree->m_liveDelay * current_rep_->GetTimescale()) / segDur);
+ //! @todo: hackish workaround, when segment duration is same of live delay, force at least 1 position delay
+ //! otherwise the current segment will be last available on the timeline,
+ //! therefore when GetNextSegment is executed will return nullptr and the below (todo) BUG condition stop the playback
+ if (segPosDelay == 0)
+ segPosDelay = 1;
+
if (segPos > segPosDelay)
segPos -= segPosDelay;
else
diff --git a/src/common/AdaptiveStream.h b/src/common/AdaptiveStream.h
index c2ed42a69..88cbf29af 100644
--- a/src/common/AdaptiveStream.h
+++ b/src/common/AdaptiveStream.h
@@ -14,6 +14,7 @@
#include
#include
+#include
#include