Skip to content

feat(catchup): launch past Guide programmes through service-owned playback intent - #306

Closed
MrFr3di wants to merge 23 commits into
mainfrom
catchup/305-guide-service-owned-intent
Closed

feat(catchup): launch past Guide programmes through service-owned playback intent#306
MrFr3di wants to merge 23 commits into
mainfrom
catchup/305-guide-service-owned-intent

Conversation

@MrFr3di

@MrFr3di MrFr3di commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Refs #305, parent #184. Follows merged #304.

Implements the bounded Guide → service-owned catch-up launch slice while preserving the existing player/recovery/seek authorities.

Implemented through TDD Tasks 1–6:

  • PlaybackStartRequest carries provider-neutral PlaybackIntent with legacy Live source compatibility;
  • Media3 session Bundle codec preserves semantic Live/CatchupProgram/CatchupPosition fields only;
  • service recovery resolves intent for the exact candidate selected by the existing bounded recovery loop;
  • RoomPlaybackCatalog supplies persisted M3U archive resolution without a Room schema change;
  • Guide keeps original EPG bounds separate from clipped viewport geometry and maps status/current → Live, completed → CatchupProgram, future → no launch;
  • navigation stores only a bounded programme identity/start/end tuple and reconstructs PlaybackIntent at Player entry;
  • Player forwards the semantic intent into the existing service command; favorite, LAN permission and exact-origin cleartext approval remain channel/final-transport behavior.

Current exact head: f7d9a3d3e4386add722362225db83fbb41e9acba.

Task 6 clean RED was observed at 513e296ff4f40da902ee564c049db5a81bfb6b00: all non-hosted gates passed and Hosted validation failed specifically at :feature:player:compileDebugUnitTestKotlin because playerPlaybackStartRequest was intentionally absent. Task 6 GREEN is now on the exact head above.

No Xtream catch-up, local timeshift/DVR/VOD, new provider framework, Room migration, new player/retry/seek owner, buffer tuning, or third persistent AVD is included.

Merge remains blocked until every required exact-head gate is terminal GREEN.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant