Low-priority cleanups deferred from the #1633 review (the two real bugs were fixed in #1646). Tracking them together so they're not lost; none are urgent.
Context: rs/moq-gst/src/source/imp.rs. See the review thread on #1633 for details.
(Written by Claude)
Low-priority cleanups deferred from the #1633 review (the two real bugs were fixed in #1646). Tracking them together so they're not lost; none are urgent.
Blocking
pad.push()on tokio workers. Each pump pushes synchronously from a task on the sharedRUNTIME. If several downstreams stall at once (full queues / clock-synced sinks), blocked pushes can occupy all worker threads and starve the session loop. Self-heals on state-change flush, so low risk — but if it ever bites, isolate withtokio::task::block_in_placeor a dedicated thread per pad.Redundant CMAF init parsing.
reconcile'sresolve()callsContainer::try_from(which parses the fMP4 init viafmp4::Wire::from_init) for every rendition on every catalog update, then discards the result for renditions that didn't change (the diff compares the hang container descriptor). Could resolve the wire container lazily, only for added/changed renditions.No tests for
reconcile. The crate istest = falseand the logic is concurrency-heavy, but thereconciledesired-vs-active set math is nearly pure and would unit-test cleanly if extracted — cheap insurance for the trickiest part.Context:
rs/moq-gst/src/source/imp.rs. See the review thread on #1633 for details.(Written by Claude)