aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2020-06-12 16:14:53 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2020-06-12 16:14:53 +0200
commite6cb09af4353d230189592e288497ea06471f0bd (patch)
tree696e06497b8779661153a2a64f06e04c6a4d1bfb
parent935215063aed6eb588d0041b677eab6af53f58cd (diff)
downloadnihav-encoder-e6cb09af4353d230189592e288497ea06471f0bd.tar.gz
add options to print codec and (de)muxer lists
-rw-r--r--src/main.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 55630fc..e37092b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -13,6 +13,7 @@ use nihav_core::muxers::*;
use nihav_core::scale::*;
use nihav_core::soundcvt::*;
use nihav_registry::detect;
+use nihav_registry::register;
use nihav_allstuff::*;
use std::env;
@@ -571,6 +572,44 @@ fn main() {
let mut arg_idx = 1;
while arg_idx < args.len() {
match args[arg_idx].as_str() {
+ "--list-decoders" => {
+ if dec_reg.iter().len() > 0 {
+ println!("Registered decoders:");
+ for dec in dec_reg.iter() {
+ let cdesc = register::get_codec_description(dec.name);
+ let full_name = if let Some(cd) = cdesc { cd.get_full_name() } else { "???" };
+ println!(" {} ({})", dec.name, full_name);
+ }
+ } else {
+ println!("No registered decoders.");
+ }
+ },
+ "--list-encoders" => {
+ if enc_reg.iter().len() > 0 {
+ println!("Registered encoders:");
+ for enc in enc_reg.iter() {
+ let cdesc = register::get_codec_description(enc.name);
+ let full_name = if let Some(cd) = cdesc { cd.get_full_name() } else { "???" };
+ println!(" {} ({})", enc.name, full_name);
+ }
+ } else {
+ println!("No registered encoders.");
+ }
+ },
+ "--list-demuxers" => {
+ print!("Registered demuxers:");
+ for dmx in dmx_reg.iter() {
+ print!(" {}", dmx.get_name());
+ }
+ println!();
+ },
+ "--list-muxers" => {
+ print!("Registered muxers:");
+ for mux in mux_reg.iter() {
+ print!(" {}", mux.get_name());
+ }
+ println!();
+ },
"--query-decoder-options" => {
next_arg!(args, arg_idx);
let cname = args[arg_idx].as_str();