mirror of
https://github.com/euzu/tuliprox.git
synced 2026-09-30 04:52:29 +02:00
* - Refactored Shared-Stream hot path from Arc<Bytes> to Bytes (leveraging internal reference counting). - Switched Metadata Trigger deduplication from Arc<Mutex<HashSet<_>>> to Arc<DashSet<_>> to reduce lock contention. - Eliminated expensive key cloning in the InputMetadataUpdatesCompleted handler. - Changed active_target_inputs to HashSet<Arc<str>> to avoid per-event to_string() allocations. - Implemented bounded Cleanup-Queue (switched from unbounded to mpsc::channel(4096)) with a dedicated overflow path (try_send + async flush) to prevent uncontrolled memory growth. - Optimized by_provider storage by switching from Vec<(addr, alloc_id)> to HashSet<(addr, alloc_id)>, reducing removal complexity from $O(n)$ to $O(1)$ average. - Optimized ActiveConnectionInfo data layout by reordering fields (large fields first) to minimize padding and improve cache efficiency. * Improve shared-stream reliability and align docs - make shared connection registration fallible with rollback on failure - guard shared broadcaster startup behind successful subscription - optimize shared stream/provider key maps to Arc<str> - add Tokio macros feature for runtime and dev dependencies - harden build_resources.sh with fail-fast ffmpeg error handling - clarify StreamError display messages with variant context - sync README stream/custom-response sections with current behavior * low_priority_preempted stream * Keep custom TS timestamps monotonic across loops - advance timestamp offset by stream duration on buffer wrap - avoid resetting PTS/DTS to zero each cycle - prevents players from treating looped custom streams as ended/corrupt * low_priority_preemption custom video stream fix * inc_version uses now main toml file * Fixed some coderabbit issues