Skip to content

feat(presenter): isolate audio delay controls for redesign - #62

Draft
Shinokawa wants to merge 1 commit into
mainfrom
agent/audio-delay-controls
Draft

feat(presenter): isolate audio delay controls for redesign#62
Shinokawa wants to merge 1 commit into
mainfrom
agent/audio-delay-controls

Conversation

@Shinokawa

Copy link
Copy Markdown
Member

Summary

Extracts the audio-delay portion of #53 into its own draft so the API wiring and clock design can be reviewed without blocking mute or subtitle work.

The current implementation carries the original approach: it shifts decoded audio-frame PTS before the output ring buffer and wires setAudioDelay through the full platform stack.

Draft blockers

This implementation is intentionally not ready to merge:

  • samples remain in FIFO order; retagging PTS shifts the audio-master clock instead of delaying or advancing sample output
  • negative offsets beyond the 250 ms stale-clock tolerance are rejected
  • startup, seek, EOF, reported-position, and queued-audio transition semantics are not strict mpv-style audio delay

The intended redesign is an audio delay processor with separate source and presentation timelines: positive changes insert output silence, negative changes trim queued samples, and the master position remains monotonic and truthful.

Validation

  • cargo fmt --all -- --check
  • cargo test -p erika -p erika_capi --lib — 391 + 26 tests passed
  • flutter test — 37 tests passed

Split from #53; draft status documents the known semantic blocker.

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