dekzter
50e9075bb5
initial run of a binary and encoded redis client - no more encoding / decoding data into redis, huge PITA (still some outstanding spots I need to patch)
2025-10-25 08:15:39 -04:00
SergeantPanda
0d987aae99
Enhancement: If a stream profile is set for a custom stream, when previewing the stream Dispatcharr will now use the assigned stream profile. Fixes #186
2025-10-18 16:24:47 -05:00
SergeantPanda
ec21e8329d
Enhancement: Increase time for a client to search for an available connection from 1.5 seconds to 3 seconds. This will help when clients are changing channels and release the old connection AFTER attempting to start the new connection. Closes #503
...
Bug Fix: Fix a bug where searching for an available stream could clear out stream locks for streams that it never acquired a lock for.
2025-10-16 17:38:23 -05:00
SergeantPanda
9b2ebf169b
Better database connection cleanup.
2025-10-16 14:22:19 -05:00
SergeantPanda
4df2f79bcf
Bug fix: Fixes bug where if there were no channel profiles other than ALL, streamer and standard accounts could not stream any channels even if they had ALL profiles selected.
2025-10-14 15:03:42 -05:00
SergeantPanda
ed065f718d
Enhancement: Implement caching for proxy settings to improve performance and reduce database load. Also, ensure database connections are closed after use in both config and stream manager.
2025-10-14 13:44:28 -05:00
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
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
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
6180b4ffef
Save stream stats to database.
2025-07-28 21:40:29 -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
c04ca0a804
Add buffering as an active state.
2025-06-25 17:01:21 -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
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
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
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
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