Simplify labels API: one call, labels on streams or nothing

labels::apply(session, udf, titles) does everything internally.
Disc::scan() is one line: crate::labels::apply().
No intermediate variables, no fallback logic in disc.rs.

App reads disc.titles[].streams — labels already applied if
disc had config files, empty otherwise. MPLS data always there.
This commit is contained in:
MattJackson
2026-04-07 18:46:29 -07:00
parent 7f7a66e039
commit 8e7778c572
2 changed files with 65 additions and 31 deletions
+2 -3
View File
@@ -421,9 +421,8 @@ impl Disc {
// Step 4: Read disc title from META/DL/bdmt_eng.xml
let meta_title = Self::read_meta_title(session, &udf_fs);
// Step 5: Extract stream labels from disc config files
let disc_labels = crate::labels::extract(session, &udf_fs);
Self::apply_disc_labels(&mut titles, &disc_labels);
// Step 5: Enhance streams with disc config file labels (if available)
crate::labels::apply(session, &udf_fs, &mut titles);
// JAR labels (for playlist purpose markers only, not stream labels)
let jar_labels = Self::read_jar_labels(session, &udf_fs);