Opened at 2022-08-27T15:01:22Z
Last modified at 2025-02-20T16:44:45Z
#1221 assigned meta
Playback Vertical Slice -- play a clip
| Reported by: | Ichthyostega | Owned by: | Benny Lyons |
|---|---|---|---|
| Priority: | urgent | Milestone: | 0integration |
| Component: | lumiera | Keywords: | integration roadmap Goal VerticalSlicePlayback |
| Sub Tickets: | #950, #1228, #1230 | Parent Tickets: | #333, #777, #778, #1291, #1331 |
Description (last modified by )
The Playback Vertical Slice
this is a tracking ticket -- it depends on various tasks listed below and detailed in #1228
Purpose
To drive integration between the GUI and Lumiera core. To provide users with the possibility to activate functionality on the GUI (play a clip) which triggers many components in the core into activity to playback the clip on the GUI display.
Description
The Playback Vertical Slice is intended to integrate the Stage, Steam and Vault layers in such a manner so that software components in all layers are tested working together to provide this feature. One focus is to drive interaction between software components of the different layers. The slice might expose some software flaws; but it is also expected to reveal correct software design.
The user activates the feature from the GUI and user data is resolved into low-level data in the Steam ready to be processed by the render engine in the Vault. The resulting rendered video data is passed up in real-time to the GUI, finally to be played back to the user on the Display.
The story involves the following tasks to implement
- Trigger playback by user on the GUI
- Load clip (the clip is mocked)
- Viewer Connection adds scaling necessary to display clip to the high-level model
- Builder compiles high-level model representing clip into low-level graph model (The high-level model is mocked)
- Generate frame render jobs from the low-level model
- Create or use a player instance
- Activate playback mode on the player
- Load frame render jobs into the scheduler in the Vault
- Select and integrate suitable video library
- Use above library to process frames from the scheduler
- integrate with a suitable Output Manager to display these frames live
Acceptance Criteria
see #1228
Change history (11)
comment:1 by , at 2022-09-12T13:11:15Z
| blockedby: | 1228 → 1228, 1230 |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
| Summary: | Story: Vertical Slice -- play a clip → Story: Playback Vertical Slice -- play a clip |
comment:2 by , at 2022-09-16T20:58:23Z
| blockedby: | 1228, 1230 → 1228, 1230, 1231, 1232, 1233 |
|---|---|
| Summary: | Story: Playback Vertical Slice -- play a clip → Playback Vertical Slice -- play a clip |
comment:3 by , at 2022-09-23T14:35:48Z
| Description: | modified (diff) |
|---|
comment:4 by , at 2022-10-08T00:01:38Z
| blockedby: | 1228, 1230, 1231, 1232, 1233, 1243 → 1228, 1230 |
|---|---|
| blocking: | 333 → 333, 778 |
| Keywords: | roadmap VerticalSlice VerticalSlicePlayback added |
Move the actual implementation tasks down below the Implementation-Ticket #1228
comment:5 by , at 2022-10-08T00:07:04Z
| blockedby: | 1228, 1230 → 950, 1228, 1230 |
|---|
Link with an existing task to select a suitable technology for video display
comment:6 by , at 2023-02-05T01:03:50Z
| Keywords: | meta removed |
|---|---|
| Type: | todo → meta |
comment:7 by , at 2023-04-03T01:45:39Z
| blocking: | 333, 778 → 333, 777, 778, 1291 |
|---|
comment:8 by , at 2023-06-15T16:02:54Z
| Description: | modified (diff) |
|---|
comment:9 by , at 2023-06-15T20:44:16Z
| Description: | modified (diff) |
|---|
comment:11 by , at 2025-02-20T16:20:33Z
| blocking: | 333, 777, 778, 1291 → 333, 777, 778, 1291, 1331 |
|---|---|
| Keywords: | Goal added; VerticalSlice removed |
A third »Vertical Slice« will complete the fundamental Design of Lumiera
comment:12 by , at 2025-12-25T00:00:00Z
| blockedby: | 950, 1228, 1230 |
|---|---|
| blocking: | 333, 777, 778, 1291, 1331 |
| Parent Tickets: | → 333, 777, 778, 1291, 1331 |
| Sub Tickets: | → 950, 1228, 1230 |
Migration MasterTickets ⟼ Subtickets-plugin

minor correction, after reading the old design specs: we use a framework of Output Managers to hand over each buffer within a well defined time window, to get continuous realtime video display