From 7ae87fe0e7b94039db7cbe648856cd75ef1027e4 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Wed, 5 Feb 2020 21:37:33 -0800 Subject: [PATCH] Fix SDR source video being identified as HDR stream video --- plexpy/__init__.py | 9 +++++++++ plexpy/pmsconnect.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 73f7e63a..63a93802 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -1569,6 +1569,15 @@ def dbcheck(): c_db.execute( 'ALTER TABLE session_history_media_info ADD COLUMN stream_video_dynamic_range TEXT ' ) + + result = c_db.execute('SELECT * FROM session_history_media_info ' + 'WHERE video_dynamic_range = "SDR" AND stream_video_dynamic_range = "HDR"').fetchone() + if result: + c_db.execute( + 'UPDATE session_history_media_info SET stream_video_dynamic_range = "SDR" ' + 'WHERE video_dynamic_range = "SDR" AND stream_video_dynamic_range = "HDR"' + ) + # Upgrade users table from earlier versions try: c_db.execute('SELECT do_notify FROM users') diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 297bf2e8..7867fdc4 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -1995,7 +1995,8 @@ class PmsConnect(object): else: stream_details['video_dynamic_range'] = 'SDR' - if video_details['stream_video_decision'] != 'transcode' \ + if stream_details['video_dynamic_range'] == 'HDR' \ + and video_details['stream_video_decision'] != 'transcode' \ or helpers.cast_to_int(video_details['stream_video_bit_depth']) > 8 \ and video_details['stream_video_color_space'] == 'bt2020nc': stream_details['stream_video_dynamic_range'] = 'HDR'