diff --git a/src/stream_manager.py b/src/stream_manager.py index 53f9c6a..8dc2e0f 100644 --- a/src/stream_manager.py +++ b/src/stream_manager.py @@ -172,8 +172,7 @@ def _rewrite_url(self, original_url: str, base_proxy_url: str) -> str: parent_param = f"&parent={self.parent_stream_id}" if self.parent_stream_id else "" return f"{base_proxy_url}/playlist.m3u8?url={encoded_url}&client_id={self.client_id}{parent_param}" else: - # Fix: Remove .ts extension to match actual API endpoint /hls/{stream_id}/segment - return f"{base_proxy_url}/segment?url={encoded_url}&client_id={self.client_id}" + return f"{base_proxy_url}/segment.ts?url={encoded_url}&client_id={self.client_id}" class StreamManager: diff --git a/tests/test_stream_manager.py b/tests/test_stream_manager.py index c1be637..a6ca0d6 100644 --- a/tests/test_stream_manager.py +++ b/tests/test_stream_manager.py @@ -85,14 +85,13 @@ def test_rewrite_absolute_urls(self): result = processor.process_playlist( playlist, proxy_base_url, "http://original.com/") - # Verify that the segment URLs are correctly rewritten and encoded - # Note: Changed from 'segment.ts' to 'segment' to match actual API endpoint + # Verify that the segment URLs are correctly rewritten and encoded, .ts added back encoded_segment1 = quote("http://original.com/segment1.ts", safe='') - expected_url1 = f"{proxy_base_url}/segment?url={encoded_segment1}&client_id=stream123" + expected_url1 = f"{proxy_base_url}/segment.ts?url={encoded_segment1}&client_id=stream123" assert expected_url1 in result encoded_segment2 = quote("http://original.com/segment2.ts", safe='') - expected_url2 = f"{proxy_base_url}/segment?url={encoded_segment2}&client_id=stream123" + expected_url2 = f"{proxy_base_url}/segment.ts?url={encoded_segment2}&client_id=stream123" assert expected_url2 in result