Skip to content

AetherEngine 3.9.0

Choose a tag to compare

@superuser404notfound superuser404notfound released this 17 Jun 17:50

Dual subtitles (independent secondary subtitle track)

A second, fully independent subtitle channel now runs alongside the primary one, so a host can display two subtitle lines at once (for example the original language plus a translation, for bilingual playback and language learning).

Added

  • selectSecondarySubtitleTrack(index:), selectSecondarySidecarSubtitle(url:httpHeaders:), clearSecondarySubtitle(), plus published secondarySubtitleCues, isSecondarySubtitleActive, isLoadingSecondarySubtitles.
  • A SubtitleChannel enum threads through the reader, apply, and cancel paths; the primary path stays behavior-identical. Each channel owns its own side demuxer, seek re-arm, teardown, and audio-track-reload resume.
  • The secondary channel is text-only (bitmap codecs are rejected) and always decodes to plain text: it never preserves ASS markup, so it stays clean even when the primary is a styled ASS track.
  • aetherctl dualsubs <file> --primary <i> --secondary <j> validates the two channels emitting cues independently.

Resolves AetherEngine#47.