mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
Fixes multiple streams in a row being dead.
This commit is contained in:
parent
02b5fb6fc0
commit
5bb6539586
2 changed files with 9 additions and 3 deletions
|
|
@ -571,9 +571,6 @@ class StreamManager:
|
|||
# Reset retry counter to allow immediate reconnect
|
||||
self.retry_count = 0
|
||||
|
||||
# Reset tried streams when manually switching URL
|
||||
self.tried_stream_ids = set()
|
||||
|
||||
# Also reset buffer position to prevent stale data after URL change
|
||||
if hasattr(self.buffer, 'reset_buffer_position'):
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -288,6 +288,15 @@ def change_stream(request, channel_id):
|
|||
# Use the service layer instead of direct implementation
|
||||
result = ChannelService.change_stream_url(channel_id, new_url, user_agent)
|
||||
|
||||
# Get the stream manager before updating URL
|
||||
stream_manager = proxy_server.stream_managers.get(channel_id)
|
||||
|
||||
# If we have a stream manager, reset its tried_stream_ids when manually changing streams
|
||||
if stream_manager:
|
||||
# Reset tried streams when manually switching URL via API
|
||||
stream_manager.tried_stream_ids = set()
|
||||
logger.debug(f"Reset tried stream IDs for channel {channel_id} during manual stream change")
|
||||
|
||||
if result.get('status') == 'error':
|
||||
return JsonResponse({
|
||||
'error': result.get('message', 'Unknown error'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue