]> git.nihav.org Git - nihav-encoder.git/blobdiff - src/main.rs
parse and try to apply output stream options before the encoder is created too
[nihav-encoder.git] / src / main.rs
index 9694836feedb8bccc0f7868bc118c2a6d394b3eb..90a871154122bcd01760db3afefabf682f1ea479 100644 (file)
@@ -637,6 +637,9 @@ println!("can't generate default channel map for {} channels", dainfo.channels);
                         },
                         _ => OutputConvert::None,
                     };
+                let name = format!("output stream {}", out_id);
+                parse_and_apply_options!(encoder, &oopts.enc_opts, name);
+
                 let ret = encoder.init(out_id, ret_eparams);
                 if ret.is_err() {
                     println!("error initialising encoder");
@@ -644,7 +647,6 @@ println!("can't generate default channel map for {} channels", dainfo.channels);
                 }
                 out_sm.add_stream_ref(ret.unwrap());
 
-                let name = format!("output stream {}", out_id);
                 parse_and_apply_options!(encoder, &oopts.enc_opts, name);
 
                 self.encoders.push(OutputMode::Encode(out_id, encoder, cvt));
@@ -1124,9 +1126,9 @@ fn main() {
                         return;
                     }
                 } else if args[arg_idx].starts_with("--") {
-                    println!("unknown option");
+                    println!("unknown option '{}'", args[arg_idx]);
                 } else {
-                    println!("unrecognized argument");
+                    println!("unrecognized argument '{}'", args[arg_idx]);
                 }
             },
         };
@@ -1295,6 +1297,7 @@ fn main() {
 
     if ret.is_none() {
         println!("cannot find muxer '{}'", output_fmt);
+        return;
     }
     let mux_creator = ret.unwrap();