Commit graph

143 commits

Author SHA1 Message Date
SergeantPanda
a72eaf118f Refactor channel info retrieval for safer decoding and improved error logging. Hopefully fixes stats not showing sometimes. 2025-06-03 10:59:53 -05:00
SergeantPanda
50048518a9 Fixes bug where mulitiple channel initializations can occur which leads to choppy streams and zombie channels. 2025-05-27 19:05:26 -05:00
SergeantPanda
303123f3ec Buffer overflow error. 2025-05-21 09:44:09 -05:00
SergeantPanda
ed665584e9 The struggle is real 2025-05-18 17:05:03 -05:00
SergeantPanda
f762e1b923 Capture and display transcode strd err. 2025-05-09 13:44:49 -05:00
SergeantPanda
898224dc72 Fix potential issue during stream switches. 2025-05-05 17:02:28 -05:00
SergeantPanda
b3c4ff8f2d Finding more timers that can be converted to gevents. 2025-05-01 10:43:07 -05:00
SergeantPanda
b811a3d45b More sleep events. 2025-05-01 09:05:51 -05:00
SergeantPanda
80fe7e02f8 Added missing _attempt_health_recovery. 2025-04-30 13:43:01 -05:00
SergeantPanda
423020861c Replace time.sleep with gevent.sleep for improved concurrency 2025-04-30 13:32:16 -05:00
SergeantPanda
b7c543b5f5 Use gevent sleep instead of sleep. 2025-04-30 12:48:50 -05:00
SergeantPanda
bdb8d326a5 Add better logging for which channel clients are getting chunks from. 2025-04-30 12:17:11 -05:00
SergeantPanda
d27e4b7e8a Release stream lock before returning url if using redirect profile. 2025-04-29 14:14:40 -05:00
SergeantPanda
482803b241 Removed unnecessary logs. 2025-04-28 17:29:27 -05:00
SergeantPanda
cd1da5a61c Added a new channel model to update m3u profile counts and utilize it during stream switches. 2025-04-28 17:25:03 -05:00
SergeantPanda
b439eb810c Cleanup channel lock instead of stream lock. 2025-04-28 15:05:58 -05:00
SergeantPanda
d59c8a9e33 Properly track current stream id during stream switches. 2025-04-27 15:52:10 -05:00
SergeantPanda
88f27d62f1 Adds current m3u profile to stats. 2025-04-27 14:43:09 -05:00
SergeantPanda
81fecde3b5 Add stream name to channel status. 2025-04-26 08:29:18 -05:00
SergeantPanda
1a1c5dea9e Uses correct api to slected specific stream id. 2025-04-24 20:07:36 -05:00
SergeantPanda
14621598f6 Added url validation for redirect profile. 2025-04-15 08:28:47 -05:00
SergeantPanda
5bb6539586 Fixes multiple streams in a row being dead. 2025-04-15 07:44:08 -05:00
SergeantPanda
02b5fb6fc0 Changed logging level of channel state checks for client. 2025-04-14 21:04:33 -05:00
SergeantPanda
60fd5afd94 More robust stream switches. Has client wait if in switching state. 2025-04-14 21:03:33 -05:00
SergeantPanda
a463d06140 Fixes stream preview. 2025-04-13 10:02:30 -05:00
dekzter
06028334ca fixing reference to null user_agents 2025-04-13 07:44:35 -04:00
SergeantPanda
07485f87a3 Add stream health recovery and reconnection logic 2025-04-10 10:14:22 -05:00
SergeantPanda
6ccc2b9a6d Enhance stream retrieval process with error handling and retry logic
- Updated `get_stream` method to return error reasons for better debugging.
- Improved `generate_stream_url` to handle errors and log specific issues.
- Implemented retry mechanism in `stream_ts` view for obtaining streams with exponential backoff.
- Added new configuration options for connection timeout and retry intervals.
2025-04-10 08:38:53 -05:00
SergeantPanda
5c74aec790 Fixes channel switching issue (release lock faster) 2025-04-10 07:38:29 -05:00
dekzter
7351264e8a centralized and lazy-loaded redis client singleton, check for manage.py commands so we don't init proxyservers (redis connection), put manage commmands before starting uwsgi 2025-04-04 16:18:12 -04:00
SergeantPanda
cf059045c1 Decoupled from global redis client. 2025-04-04 14:21:27 -05:00
dekzter
c5e0de5d48 logos, channel numbers, websocket regex test so we can properly test against python regex and not javascript 2025-04-02 16:27:28 -04:00
SergeantPanda
8292e8ae17 Change next_stream and change_stream back to authentication required after changing for testing. 2025-03-28 11:58:07 -05:00
SergeantPanda
530788877d Implement heartbeat thread exit condition after consecutive empty checks 2025-03-28 09:39:35 -05:00
SergeantPanda
cbf4fa33d6 Better method to keep track of next stream to use. 2025-03-28 09:04:04 -05:00
SergeantPanda
2f995b16fd Fixes stream switches not honouring user selected order. 2025-03-28 08:50:57 -05:00
SergeantPanda
e2d9e233da Added ability to send a next stream command. 2025-03-27 20:49:24 -05:00
SergeantPanda
ce6e019e6a Add m3u_profile (id) to redis when channel is initialized. 2025-03-27 19:24:43 -05:00
SergeantPanda
4e9a52c80e Removed invalid character in logging. 2025-03-27 18:53:59 -05:00
SergeantPanda
3f440d855e Replaced invalid character in logs. 2025-03-27 18:50:48 -05:00
SergeantPanda
d7d3138703 Changed variable name for clarity. 2025-03-27 17:52:27 -05:00
SergeantPanda
b9f4893261 Fixes broken channels stats after field name change from 'profile' to 'stream_profile' 2025-03-27 16:11:04 -05:00
dekzter
bf0c50dab2 Merge branch 'epg-refactor' into stream-previews 2025-03-27 09:44:07 -04:00
dekzter
91a85020c3 modifications to allow previewing of a raw stream 2025-03-27 09:26:04 -04:00
SergeantPanda
9ab76c3129 updated variable names for clarity. 2025-03-25 13:36:55 -05:00
SergeantPanda
4283162ba9 Switched profile to stream_profile in channel_service 2025-03-25 13:04:51 -05:00
SergeantPanda
7bcfc74c13 Missed a couple constants in try next stream. 2025-03-25 12:16:01 -05:00
SergeantPanda
560345f7b1 Changed profile to stream_profile and utilized constants more for consistency. 2025-03-25 12:13:06 -05:00
SergeantPanda
1f6a33d9f7 Added bitrates for channels as well as total data transferred. 2025-03-24 18:02:21 -05:00
SergeantPanda
2b42838bfe Added current bitrate for client and renamed transfer_rate_KBps to avg_rate_KBps for clarity. 2025-03-24 17:08:17 -05:00