From 3661942bdb6d2a141df4cfa1044d400fa87f17da Mon Sep 17 00:00:00 2001 From: Matthew Jackson <1085847+MattJackson@users.noreply.github.com> Date: Fri, 17 Jul 2026 21:32:39 -0700 Subject: [PATCH] mux: collapse FviSink::create/create_with_source into one create MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit create_with_source (full SourceInfo) was only ever called by the create wrapper with a partial SourceInfo — the extra capability was unused (YAGNI). Inlined the constructor body into create and deleted the _with_source variant; callers unchanged. --- src/mux/fvi_sink.rs | 26 +++++++------------------- src/mux/resolve.rs | 3 +-- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/mux/fvi_sink.rs b/src/mux/fvi_sink.rs index cca0b6b..0263e87 100644 --- a/src/mux/fvi_sink.rs +++ b/src/mux/fvi_sink.rs @@ -157,31 +157,19 @@ impl FviSink { /// /// `source_path` / `source_title` record where the index was built from /// (the input URL path + the 0-based title index); they are carried into the - /// header's `source` object. The medium defaults to `file` — callers with a - /// known medium / playlist / volume use [`FviSink::create_with_source`]. + /// header's `source` object. The remaining provenance (medium, playlist, + /// volume) takes its `SourceInfo` defaults — no caller needs to override them. pub fn create( path: &Path, title: &DiscTitle, source_path: String, source_title: usize, ) -> io::Result { - Self::create_with_source( - path, - title, - SourceInfo { - path: source_path, - title: source_title, - ..SourceInfo::default() - }, - ) - } - - /// Create the sink with a fully-specified [`SourceInfo`] provenance root. - pub fn create_with_source( - path: &Path, - title: &DiscTitle, - source: SourceInfo, - ) -> io::Result { + let source = SourceInfo { + path: source_path, + title: source_title, + ..SourceInfo::default() + }; let file = File::create(path)?; let video_track = title diff --git a/src/mux/resolve.rs b/src/mux/resolve.rs index 783ede5..94201a1 100644 --- a/src/mux/resolve.rs +++ b/src/mux/resolve.rs @@ -531,8 +531,7 @@ pub fn output( // `fvi://` writes the per-picture video index (`docs/FVI_FORMAT.md`). // The bare `output()` arm records the resolver path as the provenance // `source.path` and defaults the title index to 0 (the resolver carries - // no title-index context — the CLI follow-up passes the real medium / - // title via `FviSink::create_with_source`). + // no title-index context). StreamUrl::Fvi { ref path } => { validate_file_path(path, "fvi")?; Ok(Box::new(super::fvi_sink::FviSink::create(