SergeantPanda
404d2f82a3
Switch HTTP streamer to a thread and pipe its output to a local pipe where the fetch chunk can access it the same way our transcode processes would be accessed. Simplifies the code.
2025-10-12 09:42:15 -05:00
SergeantPanda
74280baa85
Changed read timeout for http connection for the proxy server to 10 secounds to avoid unnecessary timeouts.
...
Improved try_next_stream to not fail if the returned stream is the same. It will now try a different stream.
Force a client to jump ahead in the buffer if they fall to far behind.
2025-10-11 19:45:21 -05:00
SergeantPanda
fa08216600
Enhancement: Add chunk timeout configuration in ConfigHelper. Improve StreamManager timeout handling for consistency. Only 1 heartbeat thread per worker should be started now. Timeout on proxy reduced from 60 seconds to 5.
2025-10-11 18:08:20 -05:00
SergeantPanda
fefab4c4c6
Enhancement: Improve resource cleanup in ProxyServer and StreamManager classes to avoid "SystemError: (libev) error creating signal/async pipe: Too many open files" errors
2025-10-10 15:26:02 -05:00
SergeantPanda
9dc54fdcff
Fix: Ensure channel_id and channel.uuid are converted to strings before processing. This fixes an issue where sending a stream switch event would fail if the event was sent from a non owning worker.
...
Fixes [Bug]: Manually switching active stream not working when using XC client.
Fixes #269
2025-10-09 19:10:38 -05:00
SergeantPanda
70f7484fb5
Better connection tracking for apps that do not reuse connections during seeking operations.
2025-09-26 09:18:43 -05:00
SergeantPanda
7bb4df78c8
Enhancement: Update M3U profile retrieval to include current connection counts and session handling during vod session start.
2025-09-26 09:18:42 -05:00
SergeantPanda
d961d4cad1
Bug fix: VOD will now select the correct M3U profile while starting.Fixes #461
2025-09-26 09:18:22 -05:00
SergeantPanda
0cdce1a81b
Enhancement: Refactor stream selection logic when all available profiles have max connections used. Will retry faster.
2025-09-25 17:49:05 -05:00
SergeantPanda
56aa5c77d2
Filter out profiles during db query that are inactive.
2025-09-15 20:02:40 -05:00
SergeantPanda
ed0b291237
Skip disabled m3u accounts when choosing streams during playback.
...
Closes #402
2025-09-15 17:36:31 -05:00
SergeantPanda
c0ddec6b4b
Reduced cleanup time on vod from 10 seconds to 1.
2025-09-09 13:06:40 -05:00
SergeantPanda
64e500c524
Add logging for profile connection cleanup and implement delayed cleanup for idle Redis connections
2025-09-09 12:58:35 -05:00
SergeantPanda
0938a3c592
Better headers for the client including content range that includes total length as well.
2025-09-07 18:51:58 -05:00
SergeantPanda
b45c6eda38
Better content-type detection
2025-09-07 18:25:39 -05:00
SergeantPanda
be9823c5ce
Added debug logs for active clients
2025-09-07 17:14:29 -05:00
SergeantPanda
adf960753c
Changed user-agent for head request to use m3u account
2025-09-07 15:17:19 -05:00
SergeantPanda
c239f0300f
Better progress tracking for clients that start a new session on every seek instead of reusing existing session.
2025-09-06 15:36:14 -05:00
SergeantPanda
4ca6bf763e
Add position calculation
2025-09-06 10:16:54 -05:00
SergeantPanda
6b9d42fec1
Refactor VODStatsView to use correct field names for content type and M3U profile ID, and update user agent handling
2025-09-05 20:34:43 -05:00
SergeantPanda
1a8763731b
Remove unneeded headers
2025-09-05 20:26:35 -05:00
SergeantPanda
18b8462a5f
Refactor user-agent handling to use 'client_user_agent' for consistency across VOD connection management
2025-09-05 20:15:11 -05:00
SergeantPanda
7c4d7865ea
Fixed not using user-agent from m3u (was using client user-agent)
2025-09-05 19:36:08 -05:00
SergeantPanda
1080b1fb94
Refactor stats and vod proxy
2025-09-05 19:30:13 -05:00
SergeantPanda
f1196bb988
Send websocket update on client disconnect and connect.
2025-09-05 12:04:30 -05:00
SergeantPanda
98f485bac9
Fixed issue with recurring api calls.
2025-09-05 11:37:49 -05:00
SergeantPanda
6f6c28ca7c
Convert custom_properties to jsonb in the backend.
2025-09-02 09:41:51 -05:00
SergeantPanda
3590265836
Show all available options for VODs and their corresponding quality.
2025-08-21 15:04:47 -05:00
SergeantPanda
a4df1f1fb8
Allow specifying which account to play from.
2025-08-21 13:14:16 -05:00
SergeantPanda
24f876d09f
Add priority for providers so VOD's can be auto selected based on the priority.
2025-08-20 17:38:21 -05:00
SergeantPanda
c87bd79051
Cleanup the rest of the redis keys on connection close.
2025-08-19 17:52:59 -05:00
SergeantPanda
083eb264e6
Properly track m3u profile connections.
2025-08-19 17:45:09 -05:00
SergeantPanda
97b82e5520
Use redis to track provider connections to work with multi-worker uwsgi.
2025-08-19 17:35:51 -05:00
SergeantPanda
fa19525ab9
Remove url from movie table and save custom_properties for series.
2025-08-19 11:25:56 -05:00
SergeantPanda
54404339c2
Fix batch processing using simpler method for duplicate detection.
2025-08-19 10:01:37 -05:00
SergeantPanda
dac1490acc
Attempt to match incoming connections to sessions that are running with no clients. This will help with clients that disconnect with every timeshift and connect to the original URL.
2025-08-12 21:34:30 -05:00
SergeantPanda
3e16614eab
Store full content-length if using head request to initalize.
2025-08-12 17:32:07 -05:00
SergeantPanda
5eeb51585d
Support HEAD requests, keep connection alive.
2025-08-12 15:27:39 -05:00
SergeantPanda
be51be7872
Switched to connection tracking by url instead of parameter and 301 redirect instead of 302.
2025-08-12 14:48:35 -05:00
SergeantPanda
a5db9d98e9
Track number of connections to avoid shutting down connection during time shifting. Lower grace period to 10 seconds if client disconnects.
2025-08-12 13:26:32 -05:00
SergeantPanda
2632e71815
Increased grace period to 30 seconds before closing provider connection
2025-08-12 11:11:03 -05:00
SergeantPanda
6addcebaf5
Fix duplicate connection counting in redis.
2025-08-12 10:59:40 -05:00
SergeantPanda
4acdfa99f9
Properly cleanup redis keys on client disconnect.
2025-08-12 10:51:06 -05:00
SergeantPanda
310f3c455e
Properly close connection if client disconnects and is not seeking a new position.
2025-08-12 10:42:59 -05:00
SergeantPanda
b7fb9336be
Reuse connections when seeking.
2025-08-12 09:56:30 -05:00
SergeantPanda
07966424f8
Fix seeking not working.
2025-08-12 08:29:26 -05:00
SergeantPanda
345247df11
Fix vod streaming.
2025-08-08 08:35:59 -05:00
SergeantPanda
a332678cfb
Remove URL from episode relation table.
2025-08-08 08:06:28 -05:00
SergeantPanda
0e388968c4
Convert to relation tables to support multiple providers for each vod.
2025-08-07 12:31:05 -05:00
SergeantPanda
44a2cf518c
Track active connections the same way as ts_proxy
2025-08-05 21:35:04 -05:00