diff --git a/resources/lib/play_utils.py b/resources/lib/play_utils.py
index 680921e..fee2e46 100644
--- a/resources/lib/play_utils.py
+++ b/resources/lib/play_utils.py
@@ -17,7 +17,7 @@ import sys
from .jellyfin import api
from .lazylogger import LazyLogger
from .dialogs import ResumeDialog
-from .utils import send_event_notification, convert_size, get_device_id, translate_string, load_user_details, translate_path, get_jellyfin_url, download_external_sub
+from .utils import send_event_notification, convert_size, get_device_id, translate_string, load_user_details, translate_path, get_jellyfin_url, download_external_sub, get_bitrate
from .kodi_utils import HomeWindow
from .datamanager import clear_old_cache_data
from .item_functions import extract_item_info, add_gui_item, get_art
@@ -1224,8 +1224,7 @@ def get_play_url(media_source, play_session_id, channel_id=None):
user_details = load_user_details()
user_token = user_details.get('token')
- playback_bitrate = settings.getSetting("force_max_stream_bitrate")
- bitrate = int(playback_bitrate) * 1000
+ bitrate = get_bitrate(settings.getSetting("force_max_stream_bitrate"))
playback_max_width = settings.getSetting("playback_max_width")
audio_codec = settings.getSetting("audio_codec")
audio_playback_bitrate = settings.getSetting("audio_playback_bitrate")
@@ -1484,17 +1483,16 @@ def get_item_playback_info(item_id, force_transcode):
if settings.getSetting("force_transcode_mpeg4") == "true":
filtered_codecs.append("mpeg4")
- playback_bitrate = settings.getSetting("max_stream_bitrate")
- force_playback_bitrate = settings.getSetting("force_max_stream_bitrate")
- if force_transcode:
- playback_bitrate = force_playback_bitrate
+ if not force_transcode:
+ bitrate = get_bitrate(settings.getSetting("max_stream_bitrate"))
+ else:
+ bitrate = get_bitrate(settings.getSetting("force_max_stream_bitrate"))
audio_codec = settings.getSetting("audio_codec")
audio_playback_bitrate = settings.getSetting("audio_playback_bitrate")
audio_max_channels = settings.getSetting("audio_max_channels")
audio_bitrate = int(audio_playback_bitrate) * 1000
- bitrate = int(playback_bitrate) * 1000
profile = {
"Name": "Kodi",
diff --git a/resources/lib/utils.py b/resources/lib/utils.py
index abc9004..0de8e28 100644
--- a/resources/lib/utils.py
+++ b/resources/lib/utils.py
@@ -419,3 +419,13 @@ def download_external_sub(language, codec, url):
f.write(r.content)
return file_path
+
+
+def get_bitrate(enum_value):
+ ''' Get the video quality based on add-on settings.
+ Max bit rate supported by server: 2147483 (max signed 32bit integer)
+ '''
+ bitrate = [500, 1000, 1500, 2000, 2500, 3000, 4000, 5000, 6000,
+ 7000, 8000, 9000, 10000, 12000, 14000, 16000, 18000,
+ 20000, 25000, 30000, 35000, 40000, 100000, 1000000, 2147483]
+ return bitrate[int(enum_value) if enum_value else 24] * 1000
diff --git a/resources/settings.xml b/resources/settings.xml
index 1a0539e..cd1006b 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -28,7 +28,7 @@
-
+
@@ -38,7 +38,7 @@
-
+