From 435154ce646bd5bbf1bb331787dce4abe16f4b3c Mon Sep 17 00:00:00 2001 From: Nirvana Date: Mon, 1 Dec 2025 15:23:24 +0100 Subject: [PATCH] Add hrti --- lib/streaming_providers/base/models/drm_models.py | 7 +++++++ lib/streaming_providers/providers/hrti/provider.py | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/streaming_providers/base/models/drm_models.py b/lib/streaming_providers/base/models/drm_models.py index e2d5bcd..34af8dd 100644 --- a/lib/streaming_providers/base/models/drm_models.py +++ b/lib/streaming_providers/base/models/drm_models.py @@ -124,6 +124,13 @@ class LicenseConfig: if not all(c in "0123456789abcdefABCDEF" for c in key): raise ValueError(f"Invalid KEY format: {key}") + @classmethod + def create_with_base64_req_data(cls, req_data_template: str, **kwargs): + """Helper to ensure req_data is base64 encoded""" + import base64 + req_data_encoded = base64.b64encode(req_data_template.encode('utf-8')).decode('utf-8') + return cls(req_data=req_data_encoded, **kwargs) + @dataclass class DRMConfig: system: DRMSystem diff --git a/lib/streaming_providers/providers/hrti/provider.py b/lib/streaming_providers/providers/hrti/provider.py index c0f90fa..5a1f184 100644 --- a/lib/streaming_providers/providers/hrti/provider.py +++ b/lib/streaming_providers/providers/hrti/provider.py @@ -416,11 +416,12 @@ class HRTiProvider(StreamingProvider): ]) # Create the license configuration - license_config = LicenseConfig( + # Use the class method to create LicenseConfig with base64 encoded req_data + license_config = LicenseConfig.create_with_base64_req_data( + req_data_template='{CHA-RAW}', # The placeholder string server_url=self.hrti_config.license_url, use_http_get_request=False, req_headers=license_headers, - req_data='{CHA-RAW}', # Placeholder - inputstream will replace with actual challenge wrapper=None, unwrapper='json,base64', unwrapper_params=LicenseUnwrapperParams(path_data="license")