mirror of
https://github.com/zoriya/v10.git
synced 2026-08-13 01:19:44 +00:00
- Key mediaContainerData by track *type* (video/audio), not track id: one init+media pair per type, ABR rungs share the origin. relocationMessagePipelines -> relocationPipelinesFor(type); the engines pass per-type. - #4 fix: record the discovered segment's 0-based startTime and derive the origin as baseMediaDecodeTime/timescale - segmentStartTime, so relocation is correct when the first loaded segment isn't the 0th (non-zero initial currentTime, live/DVR). Adds segmentStartTime to MediaContainerData. - Rename derivePerTrackStartMediaTime -> derivePerTypeStartMediaTime; stampTracks applies each type's origin to every track of that type. - Add establish-start-media-time derive unit test. Unit-verified (segmentStartTime=100 still yields origin 60) and end-to-end sandbox-verified: start-at-300 buffers around the playhead (0-based); default start-at-0 A/V + audio-only remain 0-based. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>