Subtitle sidecars in the .sub family, and WebVTT style classes written as ASS, are not read as upstream reads them #251
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What is left of #246, each measured or read against a private upstream v12.2:
.subsidecars (MicroDVD, SubViewer and about thirteen other formats SubtitleEdit tries): the port sends them through ffmpeg to srt and reads that; upstream uses SubtitleEdit's own readers, so output may differ.STYLE ::cue(.x)classes asked for asass: upstream'sWebVttToAssais not ported; only the class-less case matches.chardetng) agrees with upstream's UtfUnknown on 34 captured samples but not on a three-line cp1252 file, where upstream guesses wrong and servesSeńor.<font color>names beyond the 140 web names (.NET system colours).[V4+ Styles]and noStyle:line asked asssa: upstream throws and answers 500; the port writes an empty-styles header.The readers and writers under
crates/ephyra-http/src/routes/streaming/subtitle_*.rsfollow SubtitleEdit's libse (LGPL-3.0) closely; landing them in this tree was accepted by the owner on 2026-10-11.Landed (six commits ending in the lint commit on main), each confirmed byte for byte on a private upstream: a
.subsidecar is read as upstream reads one — DVDSubtitle always ends the reader search first, so MicroDVD and SubViewer files answer 400 as upstream's do, and the same-format request returns the raw file; WebVTTSTYLEclasses written as ass (WebVttToAssa); the 33 system colour names on both paths; the last SAMI cue's duration counted in text elements (13 captures); an ASS header is a .NET format string, so a stray brace is the 500 and a missingStyle:line is a 200 — the issue had that backwards. 49 new captures. The short-file charset case needs the whole detector and is filed with two smaller leftovers.