From 80b86e9be7936c0d0245795fe114bd391961c95f Mon Sep 17 00:00:00 2001 From: Pranav Sharma Date: Mon, 9 Mar 2026 07:43:41 +0000 Subject: [PATCH] feat(rust): add --codec isdb CLI flag for ISDB/ARIB subtitle selection Extends CCXCodec enum with Isdb variant and wires it to Codec::IsdbCc in the demuxer config, enabling users to explicitly select ISDB/ARIB subtitle streams via: --codec isdb --no-codec isdb The underlying C decoder (isdbsub_decode) and Rust Codec::IsdbCc were already present but had no CLI entry point. This change completes the wiring. Relevant for Japanese broadcast (ARIB B-24) support. --- src/rust/src/args.rs | 2 ++ src/rust/src/parser.rs | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/rust/src/args.rs b/src/rust/src/args.rs index ec394919e..07f23dc64 100644 --- a/src/rust/src/args.rs +++ b/src/rust/src/args.rs @@ -754,6 +754,7 @@ pub struct Args { /// nothing is selected and no subtitle is generated /// --codec teletext /// select the teletext subtitle from elementary stream + /// --codec isdb select ISDB/ARIB subtitle stream (Japanese broadcast) #[arg(long, verbatim_doc_comment, value_name="value", help_heading=OUTPUT_AFFECTING_CODEC)] pub codec: Option, /// --no-codec dvbsub @@ -977,6 +978,7 @@ pub struct Args { pub enum CCXCodec { Dvbsub, Teletext, + Isdb, } #[derive(Display, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)] diff --git a/src/rust/src/parser.rs b/src/rust/src/parser.rs index c31422e17..07deb0d58 100644 --- a/src/rust/src/parser.rs +++ b/src/rust/src/parser.rs @@ -679,6 +679,9 @@ impl OptionsExt for Options { CCXCodec::Dvbsub => { self.demux_cfg.codec = SelectCodec::Some(Codec::Dvb); } + CCXCodec::Isdb => { + self.demux_cfg.codec = SelectCodec::Some(Codec::IsdbCc); + } } } @@ -690,6 +693,9 @@ impl OptionsExt for Options { CCXCodec::Teletext => { self.demux_cfg.nocodec = SelectCodec::Some(Codec::Teletext); } + CCXCodec::Isdb => { + self.demux_cfg.nocodec = SelectCodec::Some(Codec::IsdbCc); + } } }