diff --git a/jellyfin_kodi/helper/api.py b/jellyfin_kodi/helper/api.py index ea8e9ee96..5ae68eda8 100644 --- a/jellyfin_kodi/helper/api.py +++ b/jellyfin_kodi/helper/api.py @@ -73,7 +73,20 @@ def video_streams(self, tracks, container=None): for track in tracks: + if "DvProfile" in track: + track['hdrtype'] = "dolbyvision" + + elif track['VideoRangeType'] in ["HDR10", "HDR10Plus"]: + track['hdrtype'] = "hdr10" + + elif "HLG" in track['VideoRangeType']: + track['hdrtype'] = "hlg" + + elif track['VideoRangeType'] in ["SDR", "Unknown"]: + track['hdrtype'] = "" + track.update({ + 'hdrtype': track.get('hdrtype', "").lower(), 'codec': track.get('Codec', "").lower(), 'profile': track.get('Profile', "").lower(), 'height': track.get('Height'), diff --git a/jellyfin_kodi/objects/actions.py b/jellyfin_kodi/objects/actions.py index 06a73d558..34760167c 100644 --- a/jellyfin_kodi/objects/actions.py +++ b/jellyfin_kodi/objects/actions.py @@ -455,6 +455,7 @@ def listitem_video(self, obj, listitem, item, seektime=None, intro=False): for track in obj['Streams']['video']: listitem.addStreamInfo('video', { + 'hdrtype': track['hdrtype'], 'duration': obj['Runtime'], 'aspect': track['aspect'], 'codec': track['codec'], diff --git a/jellyfin_kodi/objects/kodi/queries.py b/jellyfin_kodi/objects/kodi/queries.py index 02069d8cd..e6b0783c2 100644 --- a/jellyfin_kodi/objects/kodi/queries.py +++ b/jellyfin_kodi/objects/kodi/queries.py @@ -258,10 +258,10 @@ add_streams_obj = ["{FileId}", "{Streams}", "{Runtime}"] add_stream_video = """ INSERT INTO streamdetails(idFile, iStreamType, strVideoCodec, fVideoAspect, iVideoWidth, - iVideoHeight, iVideoDuration, strStereoMode) -VALUES (?, ?, ?, ?, ?, ?, ?, ?) + iVideoHeight, iVideoDuration, strStereoMode, strHdrType) +VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) """ -add_stream_video_obj = ["{FileId}", 0, "{codec}", "{aspect}", "{width}", "{height}", "{Runtime}", "{3d}"] +add_stream_video_obj = ["{FileId}", 0, "{codec}", "{aspect}", "{width}", "{height}", "{Runtime}", "{3d}", "{hdrtype}"] add_stream_audio = """ INSERT INTO streamdetails(idFile, iStreamType, strAudioCodec, iAudioChannels, strAudioLanguage) VALUES (?, ?, ?, ?, ?)