Spaces:
Running
Running
fix HLS key URL modification
Browse files
mediaflow_proxy/handlers.py
CHANGED
@@ -124,7 +124,7 @@ async def fetch_and_process_m3u8(url: str, headers: dict, request: Request, key_
|
|
124 |
try:
|
125 |
streamer = Streamer(client)
|
126 |
content = await streamer.get_text(url, headers)
|
127 |
-
processor = M3U8Processor(request,
|
128 |
processed_content = await processor.process_m3u8(content, str(streamer.response.url))
|
129 |
return Response(
|
130 |
content=processed_content,
|
|
|
124 |
try:
|
125 |
streamer = Streamer(client)
|
126 |
content = await streamer.get_text(url, headers)
|
127 |
+
processor = M3U8Processor(request, key_url)
|
128 |
processed_content = await processor.process_m3u8(content, str(streamer.response.url))
|
129 |
return Response(
|
130 |
content=processed_content,
|
mediaflow_proxy/utils/m3u8_processor.py
CHANGED
@@ -56,9 +56,8 @@ class M3U8Processor:
|
|
56 |
original_uri = uri_match.group(1)
|
57 |
uri = parse.urlparse(original_uri)
|
58 |
if self.key_url:
|
59 |
-
uri.scheme =
|
60 |
-
|
61 |
-
new_uri = await self.proxy_url(str(uri), base_url)
|
62 |
line = line.replace(f'URI="{original_uri}"', f'URI="{new_uri}"')
|
63 |
return line
|
64 |
|
|
|
56 |
original_uri = uri_match.group(1)
|
57 |
uri = parse.urlparse(original_uri)
|
58 |
if self.key_url:
|
59 |
+
uri = uri._replace(scheme=self.key_url.scheme, netloc=self.key_url.host)
|
60 |
+
new_uri = await self.proxy_url(uri.geturl(), base_url)
|
|
|
61 |
line = line.replace(f'URI="{original_uri}"', f'URI="{new_uri}"')
|
62 |
return line
|
63 |
|