Commit graph

528 commits

Author SHA1 Message Date
SergeantPanda
fafd93e958 Refactor XC Client usage to improve error handling and resource management with context management. Implement connection pooling for better performance. 2025-07-10 19:14:43 -05:00
SergeantPanda
d24520d3d8 Enhance EPG XML generation with additional metadata extraction and improved handling for keywords, languages, ratings, and credits. 2025-07-10 13:22:42 -05:00
SergeantPanda
9f8a2db500 Include channel ID in more logs. 2025-07-09 16:44:00 -05:00
SergeantPanda
2284d47f9f If provider is slow but responsive, don't get locked up. 2025-07-08 17:10:55 -05:00
SergeantPanda
d6605e7119 Add timeout for chunks. 2025-07-08 15:57:11 -05:00
SergeantPanda
01d4b25303 Health monitor thread no longer will no longer attempt to reconnect it will only notify the main thread of issues. 2025-07-03 14:10:03 -05:00
SergeantPanda
55e19f05aa Check if stopping before adding chunks during transcoding. 2025-07-03 11:18:03 -05:00
SergeantPanda
580aa1975c Add process management for safe connection handling in StreamManager
- Introduced _wait_for_existing_processes_to_close method to ensure all existing processes and connections are fully closed before establishing new ones.
- Updated _establish_transcode_connection and _establish_http_connection methods to check for and close lingering processes and connections.
- Enhanced logging for better debugging and monitoring of connection states.
2025-07-03 11:02:07 -05:00
SergeantPanda
8e2c6c7780 Check for any state to detmine if channel is running. 2025-07-01 10:57:07 -05:00
SergeantPanda
2b97a958cd Check if a transcode process is running also to determine if we should close sockets. 2025-07-01 10:27:24 -05:00
SergeantPanda
ac07a5217f Set last_login when successful login occurs. 2025-06-28 08:55:07 -05:00
SergeantPanda
1a8bbb6bb8 Reorder columns 2025-06-27 21:59:56 -05:00
SergeantPanda
1e91dd7597 Added all available fields. 2025-06-27 21:43:50 -05:00
SergeantPanda
f2a238915a Use streaming response during EPG generation to avoid clients timing out.
Closes #179
2025-06-27 14:54:47 -05:00
SergeantPanda
ba6012b28c Fixes bulk channel editor not saving.
Fixes #222
2025-06-26 13:15:00 -05:00
SergeantPanda
c04ca0a804 Add buffering as an active state. 2025-06-25 17:01:21 -05:00
SergeantPanda
7f1bdd0129 Add support for 'num' property in channel number extraction 2025-06-21 14:00:41 -05:00
SergeantPanda
03f39d7d48 Rename FFMPEG_BITRATE to FFMPEG_OUTPUT_BITRATE for clarity. 2025-06-18 17:10:08 -05:00
SergeantPanda
2e118a3f8d Smarter parsing for input vs output streams. 2025-06-18 16:59:12 -05:00
SergeantPanda
ae88141c36 Change matching pattern for detecting input vs output streams in FFmpeg. 2025-06-17 21:33:26 -05:00
SergeantPanda
573ed96e82 Bug fix - Wait until FFmpeg is closed before marking the connection as closed. May fix some stuck FFmpeg processes. 2025-06-17 17:27:41 -05:00
SergeantPanda
b6cde2fec8 Only update redis if stream switch was successful. 2025-06-17 16:21:10 -05:00
SergeantPanda
29a5e93cfd Don't count currently used profile in used connections. 2025-06-17 15:51:03 -05:00
SergeantPanda
d130de3c80 Check connections remaining before switching streams. 2025-06-17 13:59:22 -05:00
SergeantPanda
838a373bea Use correct m3u_profile_id when changing streams. 2025-06-17 13:11:03 -05:00
SergeantPanda
3448a3b494 Add buffering as an active state. 2025-06-17 12:30:20 -05:00
SergeantPanda
42747e743c Converted epg_channel_id to a string as well. 2025-06-16 18:05:04 -05:00
SergeantPanda
db7ca1a0c8 Convert "category_id" to string (but not category_ids" 2025-06-15 18:21:41 -05:00
SergeantPanda
85a639ec5f Order XC live streams output by channel number. 2025-06-15 17:45:47 -05:00
SergeantPanda
7b16ca6ff7
Merge pull request #198 from Dispatcharr/proxy-settings
Proxy settings
2025-06-15 13:18:03 -05:00
SergeantPanda
c4a6b1469e Change to JSON settings 2025-06-13 14:36:08 -05:00
SergeantPanda
8eec41cfbb Fixes a bug where heartbeat thread will exit if channel is in shutdown delay.
This may also fix #129
2025-06-13 10:27:51 -05:00
xham3
5360f38b14 Fix process communicate() deadlock when epg match data overfill subprocess.PIPE buffer. 2025-06-12 15:34:24 -07:00
SergeantPanda
1e9ab54609 Use new methods for getting settings. 2025-06-12 16:11:43 -05:00
SergeantPanda
b4ae6911c9 Pull settings from database 2025-06-12 15:42:26 -05:00
SergeantPanda
ada1d51aaa Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into proxy-settings 2025-06-12 10:45:44 -05:00
SergeantPanda
1bf16355c1
Merge pull request #183 from Dispatcharr/ffmpeg-stats
Ffmpeg stats
2025-06-11 17:35:19 -05:00
SergeantPanda
bd53837f80 Better detection of input vs output stream information. 2025-06-11 17:20:27 -05:00
SergeantPanda
743cf4e297 Smarter parsing of ffmpeg stats output. 2025-06-11 16:55:14 -05:00
dekzter
30b2a19eb0 merged in main 2025-06-11 08:38:00 -04:00
dekzter
e2e8b7088a Fixed bad merge conflict 2025-06-11 08:23:51 -04:00
SergeantPanda
a19f29b464
Merge pull request #177 from Dispatcharr/ffmpeg-stats
Ffmpeg stats
2025-06-10 21:26:16 -05:00
SergeantPanda
7812a410b3 Allow users to change proxy settings. 2025-06-10 21:17:30 -05:00
SergeantPanda
e753d9b9f8 Fixes a bug where stream profile name wouldn't update in stats. (Was outputting name string instead of ID 2025-06-10 19:16:52 -05:00
SergeantPanda
a2c7fc3046 [New feature]
Switch streams when buffering is detected.
2025-06-10 17:43:37 -05:00
SergeantPanda
d850166a80 Add conditional channel_group_id assignment in ChannelViewSet. This fixes an issue where if a group isn't assigned to a stream it would fail to create a channel from the stream.
Closes #122
2025-06-10 15:47:27 -05:00
SergeantPanda
11d3d7a15a Add case-insensitive attribute lookup for M3U parsing 2025-06-10 14:45:49 -05:00
SergeantPanda
1f6f15ed73 Add stream type to stats page. 2025-06-10 10:10:05 -05:00
SergeantPanda
f869daa37c Add stream type for stream (HLS/MPEGTS, ETC) 2025-06-10 09:51:56 -05:00
SergeantPanda
b8992bde64 Add audio channels to stats page. 2025-06-10 09:23:43 -05:00