Add TrackRequest dataclass to Service base class that centralizes CLI vcodec/range/best_available params. Services read from self.track_request instead of accessing ctx.parent.params directly. - Add TrackRequest dataclass with codecs, ranges, best_available fields - Set self.track_request in Service.__init__() from CLI params - Add _get_tracks_for_variants() helper for per-codec/range API calls - Update dl.py to detect migrated vs legacy services automatically - Handle HYBRID+other ranges (e.g. -r HYBRID,SDR) correctly in dl.py - Support --best-available with multi-range/codec (skip unavailable)
25 KiB
25 KiB