Dispatcharr/apps/output
SergeantPanda 7673cd0793 fix: Convert float channel numbers to integers for XC client compatibility
XC (Xtream Codes) clients require integer channel numbers and fail to parse
float values (e.g., 100.5). This change implements collision-free mapping
that converts floats to integers while preserving existing integer channel
numbers where possible.

Changes:
- Implemented two-pass collision detection algorithm that assigns integers
  to float channel numbers by incrementing until an unused number is found
- Applied mapping to all XC client interfaces: live streams API, EPG API,
  and XMLTV endpoint
- Detection: XC clients identified by authenticated user (user is not None)
- Regular M3U/EPG clients (user is None) continue to receive float channel
  numbers without modification

Example: Channels 100, 100.5, 100.9, 101 become 100, 101, 102, 103 for XC
clients, ensuring no duplicate channel numbers and full compatibility.
2025-11-22 09:01:46 -06:00
..
__init__.py Pre Alpha 2 2025-02-19 16:55:23 -06:00
apps.py Pre Alpha 2 2025-02-19 16:55:23 -06:00
tests.py apps: output: change body detection logic and add tests 2025-06-08 17:29:20 +02:00
urls.py Add XC endpoints for VOD. 2025-08-08 09:03:25 -05:00
views.py fix: Convert float channel numbers to integers for XC client compatibility 2025-11-22 09:01:46 -06:00